Mysql
MySQL 記憶體和 max_connections 性能調整
所以,我們的網站執行著 WordPress,在過去的幾天裡,我們收到了大量的垃圾評論等。我相信我們正在成為某種殭屍軍隊的受害者,這些殭屍軍隊在過去幾天裡經常讓我們的伺服器崩潰,並且我真的需要幫助。
我已經打電話給我們的技術支持,他們建議減少一些緩衝區大小
my.cnf
並降低max_connections
. 我執行了mysqltuner
腳本,結果如下。眼前的問題是我們正在達到我們的
max_connections
價值。我不想增加它,40
因為當我這樣做時,MySQL 會使用伺服器記憶體的全部容量,並且在我執行終端命令時開始出現記憶體分配錯誤。 真正的問題是我需要調整什麼才能增加 max_connections 而不允許 MySQL 使用更多記憶體? 我認為緩衝池大小是一個重要因素,但我不知道如何正確調整它。另外,mysqltuner 說我有一堆零散的表,但我昨天只是手工瀏覽並
OPTIMIZE TABLE
在所有表上執行?會不會是跑步的結果mysqlcheck --repair --all-databases
??
經過深入研究,我們確定問題在於 WordPress 受到了攻擊,導致 MySQL 使用了配置文件中分配給它的最大記憶體量。甚至 WordPress 頁面的記憶體也無法阻止這種非法流量使用所有記憶體,因為攻擊者擁有大量的 IP 地址。我們最終得到了 CloudFlare,這似乎通過在 DNS 級別阻止 DDoS 解決了問題。我們還將考慮為伺服器獲取更多記憶體,以防止將來在合法流量過大的情況下發生這種情況。