最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mysql優(yōu)化的重要參數(shù) key_buffer_size table_cache

 更新時間:2016年05月28日 20:30:44   投稿:mdxy-dxy  
MySQL服務(wù)器端的參數(shù)有很多,但是對于大多數(shù)初學(xué)者來說,眾多的參數(shù)往往使得我們不知所措,但是哪些參數(shù)是需要我們調(diào)整的,哪些對服務(wù)器的性能影響最大呢

MySQL服務(wù)器端的參數(shù)有很多,但是對于大多數(shù)初學(xué)者來說,眾多的參數(shù)往往使得我們不知所措,但是哪些參數(shù)是需要我們調(diào)整的,哪些對服務(wù)器的性能影響最大呢?對于使用Myisam存儲引擎來說,主要有key_buffer_size和table_cache兩個參數(shù)。對于InnoDB引擎來說主要還是以innodb_開始的參數(shù),也很好辨認。

查看MySQL參數(shù),可以使用show variables和show status命令查看,前者查看服務(wù)器靜態(tài)參數(shù),即在數(shù)據(jù)庫啟動后不會動態(tài)更改的值,比如緩沖區(qū)、字符集等。后者查看服務(wù)器的動態(tài)運行狀態(tài)信息,即數(shù)據(jù)庫運行期間動態(tài)變化的信息,比如鎖,當前連接數(shù)等。

key_buffer_size這個參數(shù)是用來設(shè)置索引塊(index blocks)緩存的大小,它被所有線程共享,嚴格說是它決定了數(shù)據(jù)庫索引處理的速度,尤其是索引讀的速度。那我們怎么才能知道key_buffer_size的設(shè)置是否合理呢,一般可以檢查狀態(tài)值Key_read_requests和Key_reads,比例key_reads / key_read_requests應(yīng)該盡可能的低,比如1:100,1:1000 ,1:10000。其值可以用以i下命令查得:

mysql> show status like 'key_read%';
+-------------------+------------+
| Variable_name     | Value      |
+-------------------+------------+
| Key_read_requests | 3916880184 |
| Key_reads         | 1014261    |
+-------------------+------------+
2 rows in set (0.00 sec)

3916880184/1024/1024=?M    //單位為兆

我的key_buffer_size值為:

key_buffer_size=536870912/1024/1024=512M,

key_reads / key_read_requests=1014261: 3916880184≈1:4000,照上面來看,健康狀況還行。

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

open_tables表示當前打開的表緩存數(shù),如果執(zhí)行flush tables操作,則此系統(tǒng)會關(guān)閉一些當前沒有使用的表緩存而使得此狀態(tài)值減小;

opend_tables表示曾經(jīng)打開的表緩存數(shù),會一直進行累加,如果執(zhí)行flush tables操作,值不會減小。

在mysql默認安裝情況下,table_cache的值在2G內(nèi)存以下的機器中的值默認時256到512,如果機器有4G內(nèi)存,則默認這個值是2048,但這決意味著機器內(nèi)存越大,這個值應(yīng)該越大,因為table_cache加大后,使得mysql對SQL響應(yīng)的速度更快了,不可避免的會產(chǎn)生更多的死鎖(dead lock),這樣反而使得數(shù)據(jù)庫整個一套操作慢了下來,嚴重影響性能。所以平時維護中還是要根據(jù)庫的實際情況去作出判斷,找到最適合你維護的庫的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 作出調(diào)整,但是這個調(diào)整實際是不對的,換個終端后,這個值又會回到原始值,所以最好用sysctl或者修改/etc/sysctl.conf文件,同時還要在配置文件中把open_files_limit這個參數(shù)增大,對于4G內(nèi)存服務(wù)器,相信現(xiàn)在購買的服務(wù)器都差不多用4G的了,那這個這個open_files_limit至少要增大到4096,如果沒有什么特殊情況,設(shè)置成8192就可以了。

innodb_buffer_pool_size 這個參數(shù)和MyISAM的key_buffer_size有相似之處,但也是有差別的。這個參數(shù)主要緩存innodb表的索引,數(shù)據(jù),插入數(shù)據(jù)時的緩沖。為Innodb加速優(yōu)化首要參數(shù)?! ≡搮?shù)分配內(nèi)存的原則:這個參數(shù)默認分配只有8M,可以說是非常小的一個值。如果是一個專用DB服務(wù)器,那么他可以占到內(nèi)存的70%-80%。這個參數(shù)不能動態(tài)更改,所以分配需多考慮。分配過大,會使Swap占用過多,致使Mysql的查詢特慢。如果你的數(shù)據(jù)比較小,那么可分配是你的數(shù)據(jù)大?。保埃プ笥易鰹檫@個參數(shù)的值。

相關(guān)文章

  • mysql連接的空閑時間超過8小時后 MySQL自動斷開該連接解決方案

    mysql連接的空閑時間超過8小時后 MySQL自動斷開該連接解決方案

    MySQL 的默認設(shè)置下,當一個連接的空閑時間超過8小時后,MySQL 就會斷開該連接,而 c3p0 連接池則以為該被斷開的連接依然有效。在這種情況下,如果客戶端代碼向 c3p0 連接池請求連接的話,連接池就會把已經(jīng)失效的連接返回給客戶端,客戶端在使用該失效連接的時候即拋出異常
    2012-11-11
  • Mysql Data目錄和 Binlog 目錄 搬遷的方法

    Mysql Data目錄和 Binlog 目錄 搬遷的方法

    剛開始安裝時使用了默認目錄,使用一段時間,數(shù)據(jù)慢慢變在,發(fā)現(xiàn)當前設(shè)置的目錄空間不夠時,就要搬遷數(shù)據(jù)到另一個目錄了
    2011-10-10
  • 帶你學(xué)習MySQL執(zhí)行計劃

    帶你學(xué)習MySQL執(zhí)行計劃

    前面文章,我們學(xué)習了 MySQL 慢日志相關(guān)內(nèi)容,當我們篩選得到具體的慢 SQL 后,就要想辦法去優(yōu)化啦。優(yōu)化 SQL 的第一步應(yīng)該是讀懂 SQL 的執(zhí)行計劃。本篇文章,我們一起來學(xué)習下 MySQL explain 執(zhí)行計劃相關(guān)知識。
    2021-05-05
  • mysql8.0.11安裝配置方法圖文教程 MySQL8.0新密碼認證方式

    mysql8.0.11安裝配置方法圖文教程 MySQL8.0新密碼認證方式

    這篇文章主要為大家詳細介紹了mysql8.0.11安裝配置方法圖文教程,以及MySQL8.0新密碼認證方式,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • MySQL自增ID耗盡實例講解

    MySQL自增ID耗盡實例講解

    這篇文章主要給大家介紹了關(guān)于MySQL自增ID耗盡的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習或者使用Mysql具有一定的參考學(xué)習價值,需要的朋友們下面來一起學(xué)習學(xué)習吧
    2019-03-03
  • mysql?8.0.30?降級到?8.0.27的詳細步驟

    mysql?8.0.30?降級到?8.0.27的詳細步驟

    這篇文章主要介紹了mysql?8.0.30?降級到?8.0.27,本文分步驟給大家介紹的非常詳細,對大家的學(xué)習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-09-09
  • cmd命令提示符輸入:mysql?-u?root?-p報錯提示"mysql?不是內(nèi)部或外部命令,也不是可運行的程序"問題解決

    cmd命令提示符輸入:mysql?-u?root?-p報錯提示"mysql?不是內(nèi)部或外部命令,也不是

    這篇文章主要給大家介紹了關(guān)于cmd命令提示符輸入:mysql?-u?root?-p報錯提示"mysql?不是內(nèi)部或外部命令,也不是可運行的程序"問題的解決辦法,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2023-12-12
  • mysql中如何優(yōu)化表釋放表空間

    mysql中如何優(yōu)化表釋放表空間

    這篇文章主要介紹了mysql中如何優(yōu)化表釋放表空間問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • MySQL中SQL模式的特點總結(jié)

    MySQL中SQL模式的特點總結(jié)

    這篇文章主要給大家總結(jié)介紹了關(guān)于MySQL中SQL模式特點的相關(guān)資料,文章介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧
    2018-09-09
  • MySQL存儲過程的異常處理方法

    MySQL存儲過程的異常處理方法

    這篇文章主要介紹了MySQL存儲過程的異常處理方法,可實現(xiàn)有效調(diào)試MySQL存儲過程處理結(jié)果的功能,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07

最新評論

青海省| 嘉祥县| 宣恩县| 天镇县| 聂拉木县| 喀喇| 福建省| 石门县| 达州市| 越西县| 余江县| 启东市| 托里县| 永州市| 潼南县| 庐江县| 武冈市| 金沙县| 乐安县| 兴宁市| 济南市| 怀化市| 榆社县| 伊川县| 西乌珠穆沁旗| 通江县| 上饶市| 玉龙| 惠来县| 湟源县| 应用必备| 墨脱县| 黄石市| 台北市| 沂南县| 镇平县| 甘孜县| 师宗县| 阿瓦提县| 新巴尔虎左旗| 剑阁县|