Linux 指定MySQL服務執行的CPU核心(數)
阿新 • • 發佈:2018-12-23
最近在利用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核,測試看看效果。