国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

Mysql優化調優中兩個重要參數table_cache和key_buffer

2024-07-24 12:46:31
字體:
來源:轉載
供稿:網友

本文根據作者的一點經驗,討論了Mysql服務器優化中兩個非常重要的參數,分別是table_cache,key_buffer_size。

table_cache指示表高速緩存的大小。當Mysql訪問一個表時,如果在Mysql表緩沖區中還有空間,那么這個表就被打開并放入表緩沖區,這樣做的好處是可以更快速地訪問表中的內容。一般來說,可以通過查看數據庫運行峰值時間的狀態值Open_tables和Opened_tables,用以判斷是否需要增加table_cache的值,即如果open_tables接近table_cache的時候,并且Opened_tables這個值在逐步增加,那就要考慮增加這個值的大小了。

在mysql默認安裝情況下,table_cache的值在2G內存以下的機器中的值默認時256到512,如果機器有4G內存,則默認這個值是2048,但這決意味著機器內存越大,這個值應該越大,因為table_cache加大后,使得mysql對SQL響應的速度更快了,不可避免的會產生更多的死鎖(dead lock),這樣反而使得數據庫整個一套操作慢了下來,嚴重影響性能。所以平時維護中還是要根據庫的實際情況去作出判斷,找到最適合你維護的庫的table_cache值,有人說:“性能優化是一門藝術”,這話一點沒錯。大凡藝術品,大都是經過千錘百煉,精雕細琢而成。

這里還要說明一個問題,就是table_cache加大后碰到文件描述符不夠用的問題,在mysql的配置文件中有這么一段提示

引用

“The number of open tables for all threads. Increasing this value increases the number of file descriptors that mysqld requires.
Therefore you have to make sure to set the amount of open files allowed to at least 4096 in the variable "open-files-limit" in” section [mysqld_safe]”
說的就是要注意這個問題,一想到這里,部分兄弟可能會用ulimit -n 作出調整,但是這個調整實際是不對的,換個終端后,這個值又會回到原始值,所以最好用sysctl或者修改/etc/sysctl.conf文件,同時還要在配置文件中把open_files_limit這個參數增大,對于4G內存服務器,相信現在購買的服務器都差不多用4G的了,那這個這個open_files_limit至少要增大到4096,如果沒有什么特殊情況,設置成8192就可以了。

下面說說key_buffer_size這個參數,key_buffer_sizeO表示索引緩沖區的大小,嚴格說是它決定了數據庫索引處理的速度,尤其是索引讀的速度。根據網絡一些高手寫的文章表示可以檢查狀態值Key_read_requests和Key_reads,即可知道key_buffer_size設置是否合理。比例key_reads / key_read_requests應該盡可能的低,至少是1:100,1:1000更好,雖然我還沒有找到理論的依據,但是,我在自己維護的幾臺實際運行良好的庫做過的測試后表明,這個比值接近1:20000,這從結果證明了他們說這話的正確性,我們不妨用之。

您可能感興趣的文章:

Mysql安裝與配置調優及修改root密碼的方法mysql sql語句性能調優簡單實例10個MySQL性能調優的方法MySQL慢查詢查找和調優測試mysql 性能的檢查和調優方法分析MySQL復制以及調優原理和方法
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 九龙坡区| 颍上县| 芜湖县| 壶关县| 晋城| 广河县| 株洲县| 镇赉县| 太保市| 寿光市| 寻甸| 丹江口市| 探索| 湘潭县| 石台县| 宁都县| 延寿县| 平乡县| 中方县| 和田市| 托里县| 河津市| 潞城市| 墨玉县| 霍林郭勒市| 伊金霍洛旗| 建湖县| 崇明县| 都匀市| 铁岭市| 星子县| 乌拉特后旗| 荔波县| 济阳县| 富宁县| 炎陵县| 江孜县| 万宁市| 东台市| 高碑店市| 绿春县|