方便更快捷的说明问题,可以按需填写(可删除)
使用环境:
使用sysbench0.5测试cobar和sharding proxy ,发现sharding proxy读写性能和cobar相比,无论是insert还是udpate,sharding proxy性能均不及cobar。
场景、问题:
在不同并发场景下对cobar和sharding proxy进行压测,发现在insert和select,update场景下,sharding proxy的性能均不及cobar。做了sbtest1到sbtest10共十张表, cobar和sharding proxy后端均是8个分库,每个分库中一个物理表,逻辑表sbtest1后端有8个物理子表,每张逻辑表100万条记录,后端每个物理子表12.5万记录,分片键都是k字段,为了适配分库分表场景,已经将sysbench脚本中的update_index.lua和select.lua脚本中的where条件从id改为k,如下所示
下面是sharding proxy的配置部分截图
insert场景
已进行操作:
插入压测命令
for i in 16 32 64 128 256 512 768 1024
do
sysbench --test=/usr/local/sysbench-0.5/share/sysbench/insert.lua --mysql-host=ip地址 --mysql-port=端口 --mysql-user=root --mysql-password=密码 --mysql-db=sysbenchnew --mysql-table-type=innodb --oltp-test-mode=complex --oltp-write-only=on --oltp-auto-inc=off --oltp-reconnect=on --oltp-table-size=10000000 --max-requests=10000000 --num-threads=${i} --report-interval=1 --report-checkpoints=10 --oltp-tables-count=10 run
sleep 60;
done
查询压测命令
for i in 16 32 64 128 256 512 768 1024
do
nowtime=$(date “+%Y-%m-%d_%H:%M”)
sysbench --test=/usr/local/sysbench-0.5/share/sysbench/select_k.lua --mysql-host=ip地址 --mysql-port=端口 --mysql-user=root --mysql-password=密码 --oltp-table-size=10000000 --num-threads=${i} --max-time=600 --mysql-db=sysbenchnew --max-requests=0 --oltp-test-mode=complex --report-interval=1 --mysql-table-engine=innodb --mysql-ignore-errors=1142,1050,1047,1148 --oltp-tables-count=10 run > /root/shellscripts/sysbench/logs/sysbench_shardingproxy_select_threads${i}_${nowtime}.log
sleep 60;
done
更新压测命令
for i in 16 32 64 128 256 512 768 1024
do
nowtime=$(date “+%Y-%m-%d_%H:%M”)
sysbench --test=/usr/local/sysbench-0.5/share/sysbench/update_index.lua --mysql-host=数据库ip地址 --mysql-port=端口 --mysql-user=root --mysql-password=密码 --oltp-table-size=10000000 --num-threads=${i} --max-time=600 --mysql-db=sysbenchnew --max-requests=0 --oltp-test-mode=complex --oltp-read-only=off --rand-type=uniform --report-interval=1 --mysql-table-engine=innodb --mysql-ignore-errors=1142,1050,1062 --percentile=99 --oltp-tables-count=10 run > /root/shellscripts/sysbench/logs/sysbench_shardingproxy_update_threads${i}_${nowtime}.log
sleep 60;
done
现状:
使用sysbench压测sharingproxy性能不及cobar 这种情况是正常的吗?还是我测试的方式不对呢?