日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

MySQL高级 - 并发参数调整

發布時間:2024/4/14 数据库 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MySQL高级 - 并发参数调整 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Mysql并發參數調整

從實現上來說,MySQL Server 是多線程結構,包括后臺線程和客戶服務線程。多線程可以有效利用服務器資源,提高數據庫的并發性能。在Mysql中,控制并發連接和線程的主要參數包括 max_connections、back_log、thread_cache_size、table_open_cahce。

  • max_connections

采用max_connections 控制允許連接到MySQL數據庫的最大數量,默認值是 151。如果狀態變量 connection_errors_max_connections 不為零,并且一直增長,則說明不斷有連接請求因數據庫連接數已達到允許最大值而失敗,這是可以考慮增大max_connections 的值。

Mysql 最大可支持的連接數,取決于很多因素,包括給定操作系統平臺的線程庫的質量、內存大小、每個連接的負荷、CPU的處理速度,期望的響應時間等。在Linux 平臺下,性能好的服務器,支持 500-1000 個連接不是難事,需要根據服務器性能進行評估設定。

  • back_log

back_log 參數控制MySQL監聽TCP端口時設置的積壓請求棧大小。如果MySql的連接數達到max_connections時,新來的請求將會被存在堆棧中,以等待某一連接釋放資源,該堆棧的數量即back_log,如果等待連接的數量超過back_log,將不被授予連接資源,將會報錯。5.6.6 版本之前默認值為 50 , 之后的版本默認為 50 + (max_connections / 5), 但最大不超過900。

如果需要數據庫在較短的時間內處理大量連接請求, 可以考慮適當增大back_log 的值。

  • table_open_cache

該參數用來控制所有SQL語句執行線程可打開表緩存的數量, 而在執行SQL語句時,每一個SQL執行線程至少要打開 1 個表緩存。該參數的值應該根據設置的最大連接數 max_connections 以及每個連接執行關聯查詢中涉及的表的最大數量來設定 :

? max_connections x N ;

  • thread_cache_size

為了加快連接數據庫的速度,MySQL 會緩存一定數量的客戶服務線程以備重用,通過參數 thread_cache_size 可控制 MySQL 緩存客戶服務線程的數量。

  • innodb_lock_wait_timeout

該參數是用來設置InnoDB 事務等待行鎖的時間,默認值是50ms , 可以根據需要進行動態設置。對于需要快速反饋的業務系統來說,可以將行鎖的等待時間調小,以避免事務長時間掛起; 對于后臺運行的批量處理程序來說, 可以將行鎖的等待時間調大, 以避免發生大的回滾操作。

總結

以上是生活随笔為你收集整理的MySQL高级 - 并发参数调整的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。