Contents
tpcc-mysql 对比测试
1.环境介绍
服务器为 Vultr 4核8G 东京
2.测试过程
tpcc-mysql 项目地址:https://github.com/Percona-Lab/tpcc-mysql
2.1 查看运行容器
当前运行了两个容器,mysql 均为 5.7.37 版本
- ecryptfs 加密 /home 目录的 mysql 容器
2.原生 mysql 容器
docker ps -a
2.2 进入 mysql 容器并配置环境
docker exec -it 8c bash #此为 ecryptfs 加密的 mysql 容器
docker exec -it a5 bash #此为原生的 mysql 容器
apt update
apt install -y git make gcc
apt install -y libmysqlclient-dev #仅原生 mysql 容器需要安装
cd /home
git clone https://github.com/Percona-Lab/tpcc-mysql.git
cd tpcc-mysql/src
make
注意要将 mysql_config 加入 $PATH
cd ..
ls
2.3 加载数据
2.3.1 新建数据库
mysqladmin create tpcc100
2.3.2 新建表
mysql tpcc100 < create_table.sql
2.3.3 创建主外键索引(这一步可以在加载数据后完成)
mysql tpcc100 < add_fkey_idx.sql
2.3.4 填充数据
2.3.4.1 单线程加载
示例
./tpcc_load -h127.0.0.1 -d tpcc100 -u root -p "" -w 100
|hostname:port| |dbname| |user| |password| |WAREHOUSES|
ref. tpcc_load –help for all options
2.3.4.2 多线程加载
并行加载数据使用 load.sh 脚本
sh load.sh [dbname] [warehouse]
sh load.sh tpcc100 100
使用多线程加载数据时会起 4 个后台进程 tpcc_load
执行进度查看对应生成的 .out 日志
cat 1.out
2.3.4.3 单线程加载和多线程加载性能对比
单线程
多线程
CPU使用趋势
2.4 开始测试
./tpcc_start -h127.0.0.1 -P3306 -dtpcc100 -uroot -w100 -c100 -r120 -l7200 >> tpcc_report.log
|hostname| |port| |dbname| |user| |WAREHOUSES| |CONNECTIONS| |WARMUP TIME| |BENCHMARK TIME|
ref. tpcc_start –help for all options