mysql效能參數
(1) 、 back_log : 要求 MySQL 能有的連接數量。當主要 MySQL 執行緒在一個很短時間內得到非常多的連接請求,這就起作用,然後主執行緒花些時間 ( 儘管很短 ) 檢查連接並且啟動一個新執行緒。 back_log 值指出在 MySQL 暫時停止回答新請求之前的短時間內多少個請求可以被存在堆疊中。只有如果期望在一個短時間內有很多連接,你需要增加它,換句話說,這值 對到來的 TCP/IP 連接的偵聽佇列的大小。你的作業系統在這個佇列大小上有它自己的限制。試圖設定 back_log 高於你的作業系統的限制將是無效的。 當你觀察你的主機進程清單,發現大量 264084 | unauthenticated user | xxx.xxx.xxx.xxx | NULL | Connect | NULL | login | NULL 的待連接進程時,就要加大 back_log 的值了。默認數值是 50 ,把它改為 500 。 (2) 、 interactive_timeout : 伺服器在關閉它前在一個交互連接上等待行動的秒數。一個交互的客戶被定義為對 mysql_real_connect() 使用 CLIENT_INTERACTIVE 選項的客戶。 默認數值是 28800 ,把它改為 7200 。 (3) 、 key_buffer_size : 索引塊是緩衝的並且被所有的執行緒共用。 key_buffer_size 是用於索引塊的緩衝區大小,增加它可得到更好處理的索引 ( 對所有讀和多重寫 ) ,到你 能負擔得起那樣多。如果你使它太大,系統將開始換頁並且真的變慢了。默認數值是 8388600(8M) , MySQL 主機有 2GB 記憶體,所以把它改為 402649088(400MB) 。 (4) 、 max_connections : 允許的同時客戶的數量。增加該值增加 mysqld 要求的檔描述符的數量。這個數字應該增加,否則,你將經常看到 Too many connections 錯誤。 默認數值是 100 ,把它改為 1024 。 (5) 、 record_buffer : 每個進行一個順序掃描的執行緒為其掃描的每張表分配這個大小的一個緩衝區。如果你做很多順序掃描,你可能想