mysql效能最佳化之table_open_cache

來源:互聯網
上載者:User

標籤:添加   出現   pen   nec   保留   --   表數   導致   效能   

MYSQL預設的table_open_cache為64,這個數值是偏小的,如果max_connections較大,則容易引起效能問題。

    表現:資料庫查詢效率慢,show processlist 發現比較多的查詢正在opening table。

    進一步確認,執行以下語句:

mysql> show global status like 'open%tables%';

+---------------+---------+

| Variable_name | Value   |

+---------------+---------+

| Open_tables   | 345     |

| Opened_tables | 9734116 |

+---------------+---------+

    Opened_tables數值非常大,說明cache太小,導致要頻繁地open table,可以查看下當前的table_open_cache設定:

mysql> show variables like '%table_open_cache%';

+------------------+-------+

| Variable_name    | Value |

+------------------+-------+

| table_open_cache |     64|

+------------------+-------+

     預設是64,一些資料推薦把這個數值設定為(max_connections* 查詢同時用到的表數)。我實踐中發現,一般設定為max_connections就沒問題了(如果還不夠,可以繼續加大,但不能設定大得離譜,可能會引發其他問題)。4G記憶體的機器,建議設定為2048即時生效的設定:

mysql> set global table_open_cache=2048;

Query OK, 0 rows affected (0.00 sec)

     設定後可以觀察一下,如果opening table不再怎麼出現,說明此修改是有效,將其添加到mysql的設定檔,這樣資料庫重啟後仍可保留此設定。


mysql> show variables like '%table_open_cache%';

+----------------------------+-------+

| Variable_name              | Value |

+----------------------------+-------+

| table_open_cache           | 400   |

| table_open_cache_instances | 1     |

+----------------------------+-------+

2 rows in set (0.00 sec)



比較適合的值:

Open_tables / Opened_tables >= 0.85

Open_tables / table_open_cache <= 0.95


mysql效能最佳化之table_open_cache

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.