麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 數據庫 > MySQL > 正文

MySQL 5.6下table_open_cache參數優化合理配置詳解

2024-07-25 19:08:08
字體:
來源:轉載
供稿:網友

1、簡介

table_cache是一個非常重要的MySQL性能參數,它在5.1.3之后的版本中叫做table_open_cache。table_cache主要用于設置table高速緩存的數量。由于每個客戶端連接都會至少訪問一個表,因此此參數的值與max_connections有關。
例如,對于 1000 個并行運行的連接,應該讓表的緩存至少有 1000 × N ,這里 N 是應用可以執行的查詢的一個聯接中表的最大數量。此外,還需要為臨時表和文件保留一些額外的文件描述符。

2、緩存機制

當某一連接訪問一個表時,MySQL會檢查當前已緩存表的數量。如果該表已經在緩存中打開,則會直接訪問緩存中的表已加快查詢速度;如果該表未被緩存,則會將當前的表添加進緩存并進行查詢。

在執行緩存操作之前,table_open_cache用于限制緩存表的最大數目:如果當前已經緩存的表未達到table_open_cache,則會將新表添加進來;若已經達到此值,MySQL將根據緩存表的最后查詢時間、查詢率等規則釋放之前的緩存。每當MySQL訪問一個表時,如果在表緩沖區中還有空間,該表就被打開并放入其中,這樣可以更快地訪問表內容。

3、如何判斷

通過檢查峰值時間的狀態值Open_tables和Opened_tables,可以決定是否需要增加table_open_cache的值。

如果你發現open_tables等于table_open_cache,并且opened_tables在不斷增長,那么你就需要增加 table_open_cache的值了(上述狀態值可以使用SHOW GLOBAL STATUS LIKE ‘Open%tables'獲得)。

注意,不能盲目地把table_open_cache設置成很大的值。如果設置得太高,可能會造成文件描述符不足,從而造成性能不穩定或者連接失敗。

MySQL,table_open_cache

Open_tables / Opened_tables >= 0.85

Open_tables / table_cache <= 0.95

4、建議

如果開始沒有把握的話,把MySQL數據庫放在生產環境中試運行一段時間,然后把參數的值調整得比Opened_tables的數值大一些,并且保證在比較高負載的極端條件下依然比Opened_tables略大。
在mysql默認安裝情況下,table_cache的值在2G內存以下的機器中的值默認時256到 512,如果機器有4G內存,則默認這個值是2048,但這決意味著機器內存越大,這個值應該越大,因為table_cache加大后,使得mysql對 SQL響應的速度更快了,不可避免的會產生更多的死鎖(dead lock),這樣反而使得數據庫整個一套操作慢了下來,嚴重影響性能。所以平時維護中還是要根據庫的實際情況去作出判斷,找到最適合你維護的庫的 table_cache值。

mysql >flush tables; 可以將open_tables 清零

# service mysqld restart 可以講opened_tables 清零

以下是針對mysql 5.6的說明

table_open_cache指定表高速緩存的大小。每當MySQL訪問一個表時,如果在表緩沖區中還有空間,該表就被打開并放入其中,這樣可以更快地訪問表內容。
通過檢查峰值時間的狀態值Open_tables和Opened_tables,可以決定是否需要增加table_open_cache的值。
如果你發現open_tables等于table_open_cache,并且opened_tables在不斷增長,那么你就需要增加table_open_cache的值了(上述狀態值可通過SHOW GLOBAL STATUS LIKE ‘Open%tables'獲得)。
注意,不能盲目地把table_open_cache設置成很大的值,設置太大超過了shell的文件描述符(通過ulimit -n查看),造成文件描述符不足,從而造成性能不穩定或者連接失敗。

測試環境:騰訊云CDB,內存4000M,在控制臺查看到table_open_cache=512,監測table_open_cache設置是否合理,是否需要優化。

show variables like '%table_open_cache%';

MySQL,table_open_cache

show global status like 'Open%tables';

MySQL,table_open_cache

發現open_tables等于table_open_cache,都是512,說明mysql正在將緩存的表釋放以容納新的表,此時可能需要加大table_open_cache的值,4G內存的機器,建議設置為2048

比較適合的值:

Open_tables / Opened_tables >= 0.85
Open_tables / table_open_cache <= 0.95

如果對此參數的把握不是很準,有個很保守的設置建議:把MySQL數據庫放在生產環境中試運行一段時間,然后把參數的值調整得比Opened_tables的數值大一些,并且保證在比較高負載的極端條件下依然比Opened_tables略大。


注:相關教程知識閱讀請移步到MYSQL教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 在线观看精品视频 | 热re91久久精品国产99热 | 久久伊人国产精品 | 久久久久久久一区二区 | 中文字幕观看 | 叶子楣成人爽a毛片免费啪啪 | 久草在线高清 | 精精国产xxxx视频在线野外 | 国产精品久久在线观看 | 午夜视频免费播放 | 亚洲国产一区二区三区 | 久久精品国产99国产精品亚洲 | 蜜桃视频日韩 | 欧美成人免费在线视频 | 国产精品久久久久久久久久久久久久久久 | 久久人添人人爽人人爽人人片av | 极品xxxx欧美一区二区 | 免费一级特黄做受大片 | 一区二区国产在线 | 国产九色视频在线观看 | 毛片免费视频观看 | 日本爽快片100色毛片视频 | 斗罗破苍穹在线观看免费完整观看 | 色呦呦一区二区三区 | 欧美日韩高清在线观看 | 91麻豆精品国产91久久久无需广告 | 亚洲视频在线观看免费视频 | 久久成人视屏 | 日日噜噜夜夜爽 | 国产人成免费爽爽爽视频 | 国产91精品久久久久久久 | 黄视频网站免费观看 | 一本色道久久综合狠狠躁篇适合什么人看 | 日本在线播放一区二区三区 | 成人在线视频免费观看 | 性欧美在线视频 | 久久久久.com | 中文字幕综合在线观看 | 韩国十九禁高潮床戏在线观看 | 天天透天天狠天天爱综合97 | 国产成年人网站 |