Mysql
MySQLTuner 請求 - 高 CPU 問題
幾個月來,我一直在運營一個非常流行的網站,隨著它的發展,我們最近遇到了一些問題。
它是一個 2 核 Xeon、8GB、SSD 伺服器。我們每天吸引 +- 150k 人。
它是一個閃電般快速的 wordpress 堆棧和高達約 450 次並發(每分鐘 200 次瀏覽量),它仍然保持閃電般的速度。
如果超過這個值,負載就會變得瘋狂,從 1.5 到 20 或 30!我一直在嘗試微調my.cfg但我即將放棄,有大量資訊非常不同,所以我開始感到困惑。
正如您將看到的,它告訴我增加查詢記憶體,但是這樣做絕對會比它保持在 8MB 時更早地破壞我的 CPU ……
我們還將所有表轉換為 InnoDB,並在過去看到了巨大的性能提升。
我希望我能從專業人士那裡得到一些見解。如果需要,我什至會一對一地支付一些費用。
謝謝!
允許格式化腳本嘗試的第二條建議:
.sql
# list-IS-gvout.sql Last Updated 12/21/2018 mysqlservertuning.com # email info@mysqlservertuning.com sharable comments, please # DELETE the OUTFILE name(s) if they exist BEFORE you run this sql script # OUTFILE name must be available to write results to destination of SELECT @@datadir SELECT * INTO OUTFILE './isgv.txt' FROM information_schema.global_variables ORDER BY global_variables.variable_name; # Maybe your text editor will have capacity to post to pastebin.com with this output file.
為您的my.cnf考慮的第一個建議
$$ mysqld $$部分:
query_cache_type=0 # from 1 (ON) to OFF for NO qc to conserve CPU cycles query_cache_size=0 # from 8M to conserve RAM for more useful purposes innodb_io_capacity=1800 # from default (200) to increase SSD IOPS limit innodb_flushing_avg_loops=5 # from 30 to reduce innodb_buffer_pool_pages_dirty count # added 20181221 8 PM CT USA innodb_purge_threads=4 # from 1 to expedite purge activity # this will require stop/start after my.cnf change
innodb_buffer_pool_pages_dirty
您可以使用 MySQL 命令監控計數:SHOW GLOBAL STATUS LIKE '%dirty%';
如果您每 10 分鐘檢查一次,您應該會看到減少,並且 CPU 繁忙也會減少,直到您接近 0 個臟頁。
我仍然需要請求額外的資訊以允許額外的性能改進。
請查看我的個人資料,網路個人資料,並在您有空時與我們聯繫。