Devs.tw 是讓工程師寫筆記、網誌的平台。歡迎您隨手紀錄、寫作,方便日後搜尋!
主機進行過版本升級 變成 ubunt 22 + mysql 8.0 + php8.1
mysql conf 裡面的預設檔案內容 那些字串值不知跑哪去了
我做了兩個調整
nano /etc/php/8.1/fpm/pool.d/www.conf
pm.max_children = 5 -> 10
另外還有
nano /etc/mysql/mysql.conf.d/howtomakeaturn.cnf
innodb_buffer_pool_size = 12G
效能顯著提升~!
2023-10-16 小更新
偶爾會出現 SQLSTATE[HY000] [2002] Connection refused
的 mysql error
於是我把 innodb_buffer_pool_size = 12G -> 10G
這樣調整
使用 top 指令觀察
before
MiB Mem : 15988.5 total, 501.8 free, 8466.7 used, 7020.0 buff/cache
after
MiB Mem : 15988.5 total, 3678.0 free, 5344.2 used, 6966.4 buff/cache
2023-10-22 小更新
依然偶爾會出現 SQLSTATE[HY000] [2002] Connection refused
的 mysql error
加上一個修改,持續觀察看看
max_connections = 300
2023-10-23 小更新
依然偶爾會出現 SQLSTATE[HY000] [2002] Connection refused
的 mysql error
好像頻率有下降啦!
再改一下,持續觀察看看
max_connections = 500
小更新,我留意到記憶體有點被用光了,大概也有關係
參考這篇,把 swap 開大
(只有照做到 Step 5 – Making the Swap File Permanent,後面沒優化)
https://www.digitalocean.com/community/tutorials/how-to-add-swap-space-on-ubuntu-22-04
before
MiB Swap: 512.0 total, 0.0 free, 512.0 used. 816.7 avail Mem
after
MiB Swap: 16896.0 total, 14713.0 free, 2183.0 used. 2148.2 avail Mem
2023-11-09 小更新
這幾天偶爾會被 DDOS 的樣子
linode 面板 CPU 會停在 800%
MiB Mem : 15988.5 total, 383.6 free, 11792.5 used, 3812.4 buff/cache
於是我把 innodb_buffer_pool_size = 9G 這樣調整看看
MiB Mem : 15988.5 total, 252.2 free, 11559.7 used, 4176.6 buff/cache
(好像記憶體還是不夠)
有稍微參考
https://github.com/major/MySQLTuner-perl
https://www.linode.com/docs/guides/how-to-optimize-mysql-performance-using-mysqltuner/