linux云主机MYSQL占用CPU过高解决办法
公司站一直在使用西部數碼的虛擬機,前段時間在“資源分享”里面分享了一個自己寫的《PHP泛目錄》插件,大約一共生成了220萬條長尾關鍵詞,單表258MB大小,然后前端MYSQL正則(REGEXP)匹配的全站不同欄目下信息。
最終虛擬機撐不住了,mysql占用CPU達到了100%, 被強制暫停,之后恢復,最終強制暫停。
沒辦法,以現有的PHP技術,性能優(yōu)化也就可以說到頂了(MYSQL正則(REGEXP)想著取舍,優(yōu)化MYSQL字段,后續(xù)操作重點)
結果:升級了云主機(Linux-WDCP,配置:西部數碼彈性云入門型,CPU2核,1G,60GB,2MB),數據安裝恢復之后,查看性能還是依舊CPU占用較高,LINUX遠程登錄“TOP”命令查看,mysql還是依舊占CPU過高(大概75%以上)
辦法:增加(臨時表大小tmp_table_size)的大小,默認的是18MB左右,我這里修改到了400M。WDCP后臺的資源使用率降到了“1”以下(之前在5左右,高的時候到20-30)【方法參閱了:http://www.jb51.net/article/30495.htm 】
寫在最后:PHP與MYSQL等語句的性能優(yōu)化,還是在繼續(xù)深入學習中,后續(xù)會持續(xù)跟進代碼優(yōu)化以及MYSQL優(yōu)化(是否為字段建立索引等),如果哪位大牛對優(yōu)化有好的建議可以回復下面呦,或者修改了臨時表大小有什么問題還煩您糾正
最終效果截圖(修改之后時間過短,通過WDCP的系統負載和西部后臺的性能視圖,感覺效果還是明顯的)
一天之后CPU性能圖,真的感覺壓力減少了近一倍:
總結
以上是生活随笔為你收集整理的linux云主机MYSQL占用CPU过高解决办法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: wordpress自动记录网站死链404
- 下一篇: 苹果cms 8x 定时自动采集设置教程