Linux 指定MySQL服务运行的CPU核心(数)

最近在利用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核,测试看看效果。
 

Thanks a lot.