MySQL利用多核處理器 innodb_read_io_threads
阿新 • • 發佈:2019-01-27
在工作中可能遇到這樣的情況,隨著業務的增長,使用者量也在逐漸增長,終究有一天,一到高峰期,資料庫伺服器CPU利用率直飈100%。
最簡單的做法就是直接提升硬體效能,簡單粗暴,直接有效。
假如我們最開始的伺服器CPU核數是4,然後我們覺得4個有點扛不住,那就直接給他搞16個核。這下應該沒啥問題了吧,使用者訪問站點貌似也比以前快了。但是不要高興太早,當你開啟工作管理員,你會發現利用率高的還是以前那幾個核,或者說只有4個用的比較多,其它12位大爺感覺不接茬。
如果你去查一下innodb_read_io_threads和innodb_write_io_threads這兩個變數的時候,你就回發現,它們的預設值是4。可以用以下語句檢視這兩個變數的值:
show variables like '%_io_threads'
- 1
那就往大放唄。如果你直接用set命令去修改,你就回發現,人家會告你這倆命令是隻讀變數。那好吧,只能在初始化檔案中新增這兩個變量了。找到mysql的安裝目錄,用管理員身份開啟mysql.ini檔案,在最後新增這麼兩句:
innodb_read_io_threads=16
innodb_read_write_threads=16
- 1
- 2
重啟MySQL服務,再去觀察一下工作管理員,你就會發現,這次任務分配到每個處理器的任務量就均勻了些。