色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

數(shù)據(jù)庫(kù)導(dǎo)致服務(wù)器CPU過(guò)高怎么優(yōu)化

數(shù)據(jù)庫(kù)導(dǎo)致服務(wù)器CPU過(guò)高怎么優(yōu)化?

mysql數(shù)據(jù)庫(kù)導(dǎo)致cpu過(guò)高一般從執(zhí)行狀態(tài)分析:

執(zhí)行狀態(tài)分析

Sleep狀態(tài)

通常代表資源未釋放,如果是通過(guò)連接池,sleep狀態(tài)應(yīng)該恒定在一定數(shù)量范圍內(nèi)

實(shí)戰(zhàn)范例:因前端數(shù)據(jù)輸出時(shí)(特別是輸出到用戶終端)未及時(shí)關(guān)閉數(shù)據(jù)庫(kù)連接,導(dǎo)致因網(wǎng)絡(luò)連接速度產(chǎn)生大量sleep連接,在網(wǎng)速出現(xiàn)異常時(shí),數(shù)據(jù)庫(kù)too many connections掛死。

簡(jiǎn)單解讀,數(shù)據(jù)查詢和執(zhí)行通常只需要不到0.01秒,而網(wǎng)絡(luò)輸出通常需要1秒左右甚至更長(zhǎng),原本數(shù)據(jù)連接在0.01秒即可釋放,但是因?yàn)榍岸顺绦蛭磮?zhí)行close操作,直接輸出結(jié)果,那么在結(jié)果未展現(xiàn)在用戶桌面前,該數(shù)據(jù)庫(kù)連接一直維持在sleep狀態(tài)!

Waiting for net, reading from net, writing to net

偶爾出現(xiàn)無(wú)妨

如大量出現(xiàn),迅速檢查數(shù)據(jù)庫(kù)到前端的網(wǎng)絡(luò)連接狀態(tài)和流量

案例:因外掛程序,內(nèi)網(wǎng)數(shù)據(jù)庫(kù)大量讀取,內(nèi)網(wǎng)使用的百兆交換迅速爆滿,導(dǎo)致大量連接阻塞在waiting for net,數(shù)據(jù)庫(kù)連接過(guò)多崩潰

Locked狀態(tài)

有更新操作鎖定

通常使用innodb可以很好的減少locked狀態(tài)的產(chǎn)生,但是切記,更新操作要正確使用索引,即便是低頻次更新操作也不能疏忽。如上影響結(jié)果集范例所示。

在myisam的時(shí)代,locked是很多高并發(fā)應(yīng)用的噩夢(mèng)。所以mysql官方也開(kāi)始傾向于推薦innodb。

Copy to tmp table

索引及現(xiàn)有結(jié)構(gòu)無(wú)法涵蓋查詢條件,才會(huì)建立一個(gè)臨時(shí)表來(lái)滿足查詢要求,產(chǎn)生巨大的恐怖的i/o壓力。

很可怕的搜索語(yǔ)句會(huì)導(dǎo)致這樣的情況,如果是數(shù)據(jù)分析,或者半夜的周期數(shù)據(jù)清理任務(wù),偶爾出現(xiàn),可以允許。頻繁出現(xiàn)務(wù)必優(yōu)化之。

Copy to tmp table通常與連表查詢有關(guān),建議逐漸習(xí)慣不使用連表查詢。

實(shí)戰(zhàn)范例:

u 某社區(qū)數(shù)據(jù)庫(kù)阻塞,求救,經(jīng)查,其服務(wù)器存在多個(gè)數(shù)據(jù)庫(kù)應(yīng)用和網(wǎng)站,其中一個(gè)不常用的小網(wǎng)站數(shù)據(jù)庫(kù)產(chǎn)生了一個(gè)恐怖的copy to tmp table操作,導(dǎo)致整個(gè)硬盤i/o和cpu壓力超載。Kill掉該操作一切恢復(fù)。

Sending data

Sending data并不是發(fā)送數(shù)據(jù),別被這個(gè)名字所欺騙,這是從物理磁盤獲取數(shù)據(jù)的進(jìn)程,如果你的影響結(jié)果集較多,那么就需要從不同的磁盤碎片去抽取數(shù)據(jù),

偶爾出現(xiàn)該狀態(tài)連接無(wú)礙。

回到上面影響結(jié)果集的問(wèn)題,一般而言,如果sending data連接過(guò)多,通常是某查詢的影響結(jié)果集過(guò)大,也就是查詢的索引項(xiàng)不夠優(yōu)化。

如果出現(xiàn)大量相似的SQL語(yǔ)句出現(xiàn)在show proesslist列表中,并且都處于sending data狀態(tài),優(yōu)化查詢索引,記住用影響結(jié)果集的思路去思考。

Storing result to query cache

出現(xiàn)這種狀態(tài),如果頻繁出現(xiàn),使用set profiling分析,如果存在資源開(kāi)銷在SQL整體開(kāi)銷的比例過(guò)大(即便是非常小的開(kāi)銷,看比例),則說(shuō)明query cache碎片較多

使用flush query cache可即時(shí)清理,也可以做成定時(shí)任務(wù)

Query cache參數(shù)可適當(dāng)酌情設(shè)置。

Freeing items

理論上這玩意不會(huì)出現(xiàn)很多。偶爾出現(xiàn)無(wú)礙

如果大量出現(xiàn),內(nèi)存,硬盤可能已經(jīng)出現(xiàn)問(wèn)題。比如硬盤滿或損壞。

i/o壓力過(guò)大時(shí),也可能出現(xiàn)Free items執(zhí)行時(shí)間較長(zhǎng)的情況。

Sorting for …

和Sending data類似,結(jié)果集過(guò)大,排序條件沒(méi)有索引化,需要在內(nèi)存里排序,甚至需要?jiǎng)?chuàng)建臨時(shí)結(jié)構(gòu)排序。

其他