* 修改back_log參數值:由默認的50修改為500.(每個連接256kb, 占用:125M)
back_log=500
查看mysql 當前系統默認back_log值,命令:
show variables like 'back_log';
back_log值指出在MySQL暫時停止回答新請求之前的短時間內多少個請求可以被存在堆棧中。也就是說,如果MySql的連接數達到max_connections時,新來的請求將會被存在堆棧中,以等待某一連接釋放資源,該堆棧的數量即back_log,如果等待連接的數量超過back_log,將不被授予連接資源。將會報:
unauthenticated user | xxx.xxx.xxx.xxx | NULL | Connect | NULL | login | NULL 的待連接進程時.
back_log值不能超過TCP/IP連接的偵聽隊列的大小。若超過則無效,查看當前系統的TCP/IP連接的偵聽隊列的大小命令:cat /proc/sys/net/ipv4/tcp_max_syn_backlog,目前系統為1024。對於Linux系統推薦設置為大於512的整數。
修改系統內核參數,可以編輯/etc/sysctl.conf去調整它。如:net.ipv4.tcp_max_syn_backlog = 2048,改完后執行sysctl -p 讓修改立即生效。
-- End --
