如何通過(guò)MySQL自身的配置調(diào)整來(lái)優(yōu)化MySQL性能?這個(gè)問(wèn)題可能是我們?nèi)粘W(xué)習(xí)或工作經(jīng)常見(jiàn)到的。通過(guò)這個(gè)問(wèn)題,希望你能收獲更多。今天跟隨小編一起來(lái)看優(yōu)化方案吧。
創(chuàng)新互聯(lián)成立于2013年,先為迎江等服務(wù)建站,迎江等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢(xún)服務(wù)。為迎江企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。準(zhǔn)備:
1、寶塔Linux面板 正式版 5.2.0+ (2017/09/20發(fā)布) 測(cè)試版5.2.4+
2、MySQL 5.x
通常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)秀的開(kāi)源程序都不需要調(diào)整)
3、SQL語(yǔ)句調(diào)優(yōu) (這是程序員或DBA干的事)
今天我們主要談?wù)勅绻浜蠈毸姘宓男鹿δ軄?lái)進(jìn)行MySQL配置參數(shù)調(diào)優(yōu),我們先來(lái)看兩張圖片
![]
1566986430174536.png
很明顯,(圖1)顯示的是MySQL當(dāng)前的運(yùn)行狀態(tài),(圖2)顯示的是MySQL主要配置參數(shù)
下面我們就來(lái)解讀一下這兩張圖:
1、活動(dòng)/峰值連接數(shù) (圖1)中當(dāng)前活動(dòng)的連接為1個(gè),自MySQL服務(wù)啟動(dòng)以來(lái),高連接數(shù)為54;當(dāng)高連接數(shù)接近或等于(圖2)中的max_connections時(shí),應(yīng)適當(dāng)增加max_connections,需要注意的是,不要一下子增加過(guò)多,建議每次增加50,觀察一段時(shí)間,不夠再繼續(xù)增加。
2、線(xiàn)程緩存命中率 (圖1)中線(xiàn)程緩存命中率為99.78%,若這個(gè)值小于90%,建議適當(dāng)增加(圖2)中的thread_cache_size,建議每次增加8。
3、索引命中率 (圖1)中索引命中率為99.50%,若這個(gè)值小于95%,建議適當(dāng)增加(圖2)中的key_buffer_size,建議每次增加64,需要說(shuō)明的是,若您的數(shù)據(jù)庫(kù)使用的是Innodb引擎,可忽略這個(gè)選項(xiàng)
4、Innodb索引命中率 (圖1)中Innodb索引命中率為100%,若這個(gè)值小于95%,建議適當(dāng)增加(圖2)中的innodb_buffer_pool_size,建議每次增加64,需要說(shuō)明的是,若您的數(shù)據(jù)庫(kù)沒(méi)有使用Innodb引擎,可忽略這個(gè)選項(xiàng)
5、查詢(xún)緩存命中率 MySQL查詢(xún)緩存是個(gè)比較受爭(zhēng)議的功能,個(gè)人建議當(dāng)你有在使用redis、memcached等緩存軟件時(shí),在(圖2)中將query_cache_size設(shè)為0可以將其關(guān)閉,當(dāng)你沒(méi)有使用緩存軟件,有多余的內(nèi)存使用,且數(shù)據(jù)庫(kù)瓶頸明顯存在時(shí),可以嘗試開(kāi)啟查詢(xún)緩存,這是個(gè)非常依賴(lài)數(shù)據(jù)表結(jié)構(gòu)及SQL語(yǔ)句優(yōu)化的功能,若數(shù)據(jù)表結(jié)構(gòu)和SQL語(yǔ)句都針對(duì)查詢(xún)緩存進(jìn)行過(guò)優(yōu)化,它的效果還是很不錯(cuò)的。
6、創(chuàng)建臨時(shí)表到磁盤(pán) (圖1)中創(chuàng)建臨時(shí)表到磁盤(pán)的比例是0.42%,這說(shuō)明大部分臨時(shí)表創(chuàng)建到內(nèi)存了,不會(huì)過(guò)多增加磁盤(pán)IO的開(kāi)銷(xiāo),建議,當(dāng)比例大于2%時(shí)適當(dāng)增加(圖1)中的tmp_cache_size,建議每次增加32,當(dāng)比例大于60%時(shí),放棄吧,有些開(kāi)源程序并沒(méi)有專(zhuān)門(mén)優(yōu)化過(guò)SQL語(yǔ)句,所以在運(yùn)行過(guò)程中會(huì)開(kāi)啟大量臨時(shí)表,加多少緩存都是不夠用的。
7、已打開(kāi)的表 當(dāng)(圖1)中的已打開(kāi)的表接近或等于(圖2)中的table_open_cache時(shí),可以適當(dāng)增加table_open_cache,但若設(shè)置過(guò)大可能導(dǎo)致您的程序頻繁中斷MySQL連接,建議在1024以?xún)?nèi),大不要超過(guò)2048。
8、沒(méi)有使用索引的量、沒(méi)有使用索引的JOIN量 若不為0,就檢查下數(shù)據(jù)表索引吧,其實(shí)只要沒(méi)有瘋漲,比如一天增漲幾千,一般可以忽略,必竟優(yōu)化索引還是程序員或DBA去干比較合適。
9、排序后的合并次數(shù) 如果這個(gè)值在緩慢增張,建議適當(dāng)增加(圖2)中的sort_buffer_size,建議每次增加512,但大不要超過(guò)8192,如果這個(gè)值一直在瘋漲,增加sort_buffer_size也沒(méi)用,就放棄這個(gè)選項(xiàng)吧,這個(gè)鍋還是給程序開(kāi)發(fā)者背。
10、鎖表次數(shù) 如果服務(wù)器CPU開(kāi)銷(xiāo)不大的情況下,瘋狂鎖表,建議你將所有數(shù)據(jù)表轉(zhuǎn)換成innodb,記得轉(zhuǎn)換前備份哦。
11、優(yōu)化方案 這個(gè)是我們根據(jù)內(nèi)存大小給的一個(gè)推薦優(yōu)化方案,僅是建議僅用于基礎(chǔ)參考值,還是要根據(jù)實(shí)據(jù)情況來(lái)調(diào)整每一個(gè)配置項(xiàng)。
注意:保存參數(shù)配置后不會(huì)立即生效,記得要重啟MySQL服務(wù)。
以上就是通過(guò)MySQL自身的配置調(diào)整來(lái)優(yōu)化MySQL性能的方法了,看完之后是否有所收獲呢?如果想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線(xiàn),公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。
當(dāng)前名稱(chēng):如何通過(guò)MySQL自身的配置調(diào)整來(lái)優(yōu)化MySQL性能?-創(chuàng)新互聯(lián)
標(biāo)題網(wǎng)址:http://jinyejixie.com/article2/hgiic.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)、標(biāo)簽優(yōu)化、網(wǎng)站制作、關(guān)鍵詞優(yōu)化、云服務(wù)器、網(wǎng)站營(yíng)銷(xiāo)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容