服務(wù)器負(fù)載狀態(tài)運(yùn)行堵塞CPU使用率100%的解決辦法

文章插圖
Linux服務(wù)器運(yùn)行堵塞
通常MySQL調(diào)優(yōu)我們分以下幾部分:
1、MySQL配置參數(shù)調(diào)優(yōu) (需要根據(jù)網(wǎng)站運(yùn)行情況調(diào)整)
2、數(shù)據(jù)表索引調(diào)優(yōu) (效果明顯,但通常優(yōu)秀的開源程序都不需要調(diào)整)
3、SQL語句調(diào)優(yōu) (這是程序員或DBA干的事)
今天我們主要談?wù)勅绻浜蠈毸姘宓男鹿δ軄磉M(jìn)行MySQL配置參數(shù)調(diào)優(yōu),我們先來看兩張圖片:
(圖1)

文章插圖
(圖2)

文章插圖

文章插圖
2核4G參考這個(gè)
很明顯,(圖1)顯示的是MySQL當(dāng)前的運(yùn)行狀態(tài),(圖2)顯示的是MySQL主要配置參數(shù)
下面我們就來解讀一下這兩張圖:1、活動(dòng)/峰值連接數(shù)(圖1)中當(dāng)前活動(dòng)的連接為1個(gè),自MySQL服務(wù)啟動(dòng)以來,最高連接數(shù)為54;當(dāng)最高連接數(shù)接近或等于(圖2)中的max_connections時(shí),應(yīng)適當(dāng)增加max_connections,需要注意的是,不要一下子增加過多,建議每次增加50,觀察一段時(shí)間,不夠再繼續(xù)增加 。2、線程緩存命中率(圖1)中線程緩存命中率為99.78%,若這個(gè)值小于90%,建議適當(dāng)增加(圖2)中的thread_cache_size,建議每次增加8 。3、索引命中率(圖1)中索引命中率為99.50%,若這個(gè)值小于95%,建議適當(dāng)增加(圖2)中的key_buffer_size,建議每次增加64,需要說明的是,若您的數(shù)據(jù)庫使用的是Innodb引擎,可忽略這個(gè)選項(xiàng)4、Innodb索引命中率 (圖1)中Innodb索引命中率為100%,若這個(gè)值小于95%,建議適當(dāng)增加(圖2)中的innodb_buffer_pool_size,建議每次增加64,需要說明的是,若您的數(shù)據(jù)庫沒有使用Innodb引擎,可忽略這個(gè)選項(xiàng)5、查詢緩存命中率MySQL查詢緩存是個(gè)比較受爭議的功能,個(gè)人建議當(dāng)你有在使用redis、memcached等緩存軟件時(shí),在(圖2)中將query_cache_size設(shè)為0可以將其關(guān)閉,當(dāng)你沒有使用緩存軟件,有多余的內(nèi)存使用,且數(shù)據(jù)庫瓶頸明顯存在時(shí),可以嘗試開啟查詢緩存,這是個(gè)非常依賴數(shù)據(jù)表結(jié)構(gòu)及SQL語句優(yōu)化的功能,若數(shù)據(jù)表結(jié)構(gòu)和SQL語句都針對(duì)查詢緩存進(jìn)行過優(yōu)化,它的效果還是很不錯(cuò)的 。6、創(chuàng)建臨時(shí)表到磁盤(圖1)中創(chuàng)建臨時(shí)表到磁盤的比例是0.42%,這說明大部分臨時(shí)表創(chuàng)建到內(nèi)存了,不會(huì)過多增加磁盤IO的開銷,建議,當(dāng)比例大于2%時(shí)適當(dāng)增加(圖1)中的tmp_cache_size,建議每次增加32,當(dāng)比例大于60%時(shí),放棄吧,有些開源程序并沒有專門優(yōu)化過SQL語句,所以在運(yùn)行過程中會(huì)開啟大量臨時(shí)表,加多少緩存都是不夠用的 。7、已打開的表當(dāng)(圖1)中的已打開的表接近或等于(圖2)中的table_open_cache時(shí),可以適當(dāng)增加table_open_cache,但若設(shè)置過大可能導(dǎo)致您的程序頻繁中斷MySQL連接,建議在1024以內(nèi),最大不要超過2048 。8、沒有使用索引的量、沒有使用索引的JOIN量若不為0,就檢查下數(shù)據(jù)表索引吧,其實(shí)只要沒有瘋漲,比如一天增漲幾千,一般可以忽略,畢竟優(yōu)化索引還是程序員或DBA去干比較合適 。9、排序后的合并次數(shù)如果這個(gè)值在緩慢增長,建議適當(dāng)增加(圖2)中的sort_buffer_size,建議每次增加512,但最大不要超過8192,如果這個(gè)值一直在瘋漲,增加sort_buffer_size也沒用,就放棄這個(gè)選項(xiàng)吧,這個(gè)鍋還是給程序開發(fā)者背 。10、鎖表次數(shù)如果服務(wù)器CPU開銷不大的情況下,瘋狂鎖表,建議你將所有數(shù)據(jù)表轉(zhuǎn)換成innodb,記得轉(zhuǎn)換前備份哦 。11、優(yōu)化方案這個(gè)是我們根據(jù)內(nèi)存大小給的一個(gè)推薦優(yōu)化方案,僅是建議僅用于基礎(chǔ)參考值,還是要根據(jù)實(shí)際情況來調(diào)整每一個(gè)配置項(xiàng) 。修改參考:本人是2核4G服務(wù)器,如果你和我的一樣可以直接參考圖二修改,其他配置自測,修改后如下圖所示
以上關(guān)于本文的內(nèi)容,僅作參考!溫馨提示:如遇健康、疾病相關(guān)的問題,請(qǐng)您及時(shí)就醫(yī)或請(qǐng)專業(yè)人士給予相關(guān)指導(dǎo)!
「愛刨根生活網(wǎng)」www.malaban59.cn小編還為您精選了以下內(nèi)容,希望對(duì)您有所幫助:- 服務(wù)器負(fù)載異常處理方法 服務(wù)器負(fù)載不兼容
- 服務(wù)器重置密碼的方法 怎么修改服務(wù)器密碼
- 1000平方公里等于多少畝(1000平方千米等于多少平方公里
- 突然急性心肌梗死,及時(shí)送往醫(yī)院就能100%救下來嗎?院前需要做哪些急救措施會(huì)有用?
- AMD RX 6500顯卡首次曝光:1000元有戲!
- 新消費(fèi)品牌價(jià)值TOP100發(fā)布 2020年度新消費(fèi)品牌價(jià)值TOP100
- 發(fā)改委官宣電廠存煤突破1億噸 動(dòng)力煤跌破1000元
- 90后小賣部零食清單 100種辣條的名字大全
- 2021dnf100級(jí)職業(yè)排行 dnf值得培養(yǎng)的職業(yè)打造
- 離高考還剩100天我該如何學(xué)習(xí)英語 高考英語沖刺技巧
