最近在利用mysqlslap对mysql进行性能测试,但是测得的tps、qps的benchmark数据,从趋势上就跟网上“权威”的测试数据不同。这让onecoder十分怀疑测试数据的准确性。
在定位问题的过程中,在独立于mysql server的机器上执行mysqlslap测试,测得的数据趋势正常。即初始随着并发数增大(一定范围内),tps和qps成上升趋势。这让我怀疑我之前在同一台服务器进行的测试,可能mysqlslap和mysql server争夺了cpu资源。
在一篇mysql的测试报告中看到这样的话:
此外测试的机器具有 16 核,其中 12 核运行 mysqld ,另外 4 核运行 sysbench。
立马上网搜索指定方法。搜得linux下的taskset命令
taskset -cp cpu序号 mysqld-pid
即可指定mysqld服务使用的cpu核心。例如:
taskset -cp 0-47 12345
执行mysqlslap的时候,只需通过
taskset -c 48-63 mysqlslap xxxxxx
指定使用的cpu核心即可。准备给mysql server分配48核, mysqlslap 16核,测试看看效果。
原文地址:linux 指定mysql服务运行的cpu核心(数), 感谢原作者分享。
