mysql配置優化 MySQL配置效能優化

2021-10-25 14:20:47 字數 1795 閱讀 4264

下面配置的優化,可能影響比較大,可能可以顯著提高讀寫效能。

1、mysql一些主要配置項介紹:

innodb_buffer_pool_size

這是你安裝完innodb後第乙個應該設定的選項。緩衝池是資料和索引快取的地方:這個值越大越好,這能保證你在大多數的讀取操作時使用的是記憶體而不是硬碟。如果是純資料庫,可以設定到機器記憶體80%(官網建議)

innodb_log_file_size

這是redo日誌的大小。redo日誌被用於確保寫操作快速而可靠並且在崩潰時恢復。一直到mysql 5.1,它都難於調整,因為一方面你想讓它更大來提高效能,另一方面你想讓它更小來使得崩潰後更快恢復。

max_connections

如果你經常看到『too many connections』錯 誤,是因為max_connections的值太低了。這非常常見因為應用程式沒有正確的關閉資料庫連線,你需要比預設的151連線數更大的值。 max_connection值被設高了(例如1000或更高)之後乙個主要缺陷是當伺服器執行1000個或更高的活動事務時會變的沒有響應。在應用程式 裡使用連線池或者在mysql裡使用程序池有助於解決這一問題。

innodb_flush_log_at_trx_commit

預設值為1,表示innodb完全支援acid特性。當你的主要關注點是資料安全的時候這個值是最合適的,比如在乙個主節點上。但是對於磁碟(讀寫)速度 較慢的系統,它會帶來很巨大的開銷,因為每次將改變flush到redo日誌都需要額外的fsyncs。將它的值設定為2會導致不太可靠 (unreliable)因為提交的事務僅僅每秒才flush一次到redo日誌,但對於一些場景是可以接受的,比如對於主節點的備份節點這個值是可以接 受的。如果值為0速度就更快了,但在系統崩潰時可能丟失一些資料:只適用於備份節點。

innodb_log_buffer_size

這項配置決定了為尚未執行的事務分配的快取。其預設值(1mb)一般來說已經夠用了,但是如果你的事務中包含有二進位製大物件或者大文字字段的話,這點快取 很快就會被填滿並觸發額外的i/o操作。看看innodb_log_waits狀態變數,如果它不是0,增加 innodb_log_buffer_size。

query_cache_size/query_cache_type

query cache(查詢快取)是乙個眾所周知的瓶頸,甚至在併發並不多的時候也是如此。 最佳選項是將其從一開始就停用,設定query_cache_size = 0(現在mysql 5.6的預設值)並利用其他方法加速查詢:優化索引、增加拷貝分散負載或者啟用額外的快取(比如memcache或redis)。如果你已經為你的應用啟 用了query cache並且還沒有發現任何問題,query cache可能對你有用。這是如果你想停用它,那就得小心了。

innodb_lock_wait_timeout

innodb引擎,當存在鎖競爭時等待的時間

2、配置上做一些優化:

當然下面是我們伺服器的優化,因伺服器配置不同,讀寫等進行不同配置優化。

1.innodb_flush_log_at_trx_commit 設定為0,提公升mysql寫效能,但是如果出現宕機,存在丟失資料的風險,如果可以,最好修改為2,然後使用讀寫分離等手段來提公升mysql整體效能。

2.調整了mysql的事務隔離級別,由預設的repeatable read調整到read committed

3.修改了innodb_lock_wait_timeout,由預設的50->30

5.修改innodb_buffer_pool_size,原先是8g,換新伺服器後修改為24g,可以通過快取命中率來判斷這個值是否夠

6.修改query_cache_type為2,預設情況下不使用mysql快取,除非顯示指定

Mysql優化配置

mysql配置優化 一 環境介紹 mysql版本 5.6.23 二 優化內容 字段介紹 推薦值skip locking 避免mysql 的外部鎖定,減少出錯機率增強穩定性 back log mysql可能的連線數量 linux下推薦小於 512 384key buffer size key buff...

Mysql優化配置

mysql配置優化 一 環境介紹 mysql版本 5.5.27 二 優化內容 字段介紹 推薦值skip locking 避免mysql 的外部鎖定,減少出錯機率增強穩定性 back log mysql可能的連線數量 linux下推薦小於 512 key buffer size key buffer ...

MySQL 配置優化

1.連線請求的變數 a.max connections 如果伺服器的併發連線請求量比較大,建議調高此值,以增加並行連線數量,當然這建立在機器能支撐的情況下,因為如果連線數越多,介於mysql會為每個連線提供連線緩衝區,就會開銷越多的記憶體,所以要適當調整該值,不能盲目提高設值。數值過小會經常出現er...