kingshard的性能测试报告
之前的几篇blog,给大家分享的都是kingshard(https://github.com/flike/kingshard )的架构与设计。其实很多人对kingshard的性能也非常关心。最近热心的网友bigpyer对kingshard做了详细的性能测试。在此分享一下。
1.测试环境
1.1服务器配置类别
名称
OS
云主机 Ubuntu 14.04 LTS
CPU
Common KVM CPU @ 2.40GHz *4
RAM
8GB
DISK
500GB
kingshard
master分支
Mysql
v5.6.25
Sysbench
v0.5
2.性能需求测试通过kingshard转发SQL请求与直连DB发送SQL请求这两种情形下的性能差距。
测试配置文件中max_conns_limit参数对kingshard的影响,并找出最优值。
3.测试准备工作
3.1 kingshard性能测试环境搭建
利用上述配置的4台服务器搭建了一个kingshard性能测试环境:
服务器A运行着sysbench
服务器B运行着kingshard系统
服务器C运行着主库
服务器D运行着从库
四台服务器处在同一个网段中。具体的拓扑图如下所示:
有关kingshard系统安装与配置,请参考文档安装kingshard。
有关sysbench v0.5的安装与命令选项,请参考sysbench。
4.测试过程
执行下面的命令准备测试数据
time sysbench --test=/data/home/test_user/software/sysbench/sysbench/tests/db/oltp.lua \
--mysql-host=host \
--mysql-port=9696 \
--mysql-user=kingshard \
--mysql-password=kingshard \
--mysql-db=kingshard \
--oltp-tables-count=1 \
--oltp-table-size=1000000 \
--num-threads=50 \
--max-requests=1000000 \
--report-interval=1 \
prepare
上述命令会创建表sbtest1,数据量为100w,建表语句如下:
CREATE TABLE `sbtest1` (
`id` int(1