Mysql

mysql 連接 RDS 達到 50 後網站執行緩慢

  • November 27, 2021

在rds參數組配置下,請幫我解決這個問題。我正在使用 4 個具有 2 個 CPU 和 8 GB 記憶體的 Web 伺服器,以及具有 4 個 CPU 和 16 GB 記憶體的 rds。

一旦連接達到 50 站點將停止響應。

join_buffer_size                        150.00 MB
read_buffer_size                        150.00 MB
read_rnd_buffer_size                    300.00 MB
sort_buffer_size                        150.00 MB
Total for max_connections=600           750.00 MB

可能有很多原因這裡有一些建議:

1)查看mysql中的慢查詢日誌:

https://www.a2hosting.com/kb/developer-corner/mysql/enabling-the-slow-query-log-in-mysql

2) 更改應用程序中的 mysql 驅動程序

即使降級,也可以獲得更好的結果。如果可能,請更改主要版本。

3)尋找鎖

mysqladmin 調試

它會轉儲很多資訊,包括鎖,但您也可以通過查詢獲取鎖資訊:

https://dev.mysql.com/doc/refman/5.7/en/show-open-tables.html

希望能幫助到你

在您的.cfg/ini [mysqld]部分考慮使用

max_connections=100  # since you are stymied at 50 connections
join_buffer_size=256K
read_buffer_size=128K
read_rnd_buffer_size=256K
sort_buffer_size=256K

最後 4 個是在連接時分配的,並且您的值高於頂部,我的建議接近 refman 中建議的預設值。 thread_cache_size=50 將防止大多數執行緒創建抖動。

引用自:https://dba.stackexchange.com/questions/163853