max_connections.提高併發連接
- 參數控制允許連接到mysql 數據庫的最大數量.默認值151. 如果狀態變量connection_errors_max_connections 不爲零,並且一直在增長,說明不斷有連接請求因數據庫已達到最大允許的值而失敗.應考慮增大max_connections 值.
- 在增大max_connections時,也要注意open-files-limit的設置是否夠用.
調整back_log
mysql 監聽tcp 端口時設置的積壓請求棧大小…5.6.6 版本默認50,5.6.6版本以後默認值是50+(max_connections/5),但最大不能超過900.
數據庫在短時間內處理大量請求,可以考慮適當增大back_log值
調整table_open_cache.
參數控制所有sql執行線程可打開表緩存的數量.這個參數的值應根據最大連接數max_connections 以及每個鏈接執行關聯查詢中所涉及表的最大個數(n表示). max_connections*n .
在未執行flush tables 命令的情況下
如果mysql 狀態變量opened_tables 值很大,就說明table_open_cache 設置的太小,應適度增大.
調整thread_cache_size
通過參數可以控制mysql 緩存客戶端服務線程的數量.
計算線程cache的失效率threads_created/connections來衡量thread_cache_size設置是否合適.如歌該值接近1,說明線程命中率低,應考慮增加該值
innodb_lock_wait_timeout 設置
參數可以控制innodb 事務等待行鎖的時間,默認值50ms,
對於需要快速反饋的交互式oltp 應用,可以將行鎖等待超時時間調小,以避免事務長時間掛起.對於後臺運行的批處理操作.可以將行鎖等待時間調大,避免發生大的回滾操作.