如何查看Mysql CPU占用高問題
2017-11-15 15:21:34
10512
先將mysql的配置問題排除了,查看msyql是否運(yùn)行正常,通過查看mysql data目錄里面的*.err文件(將擴(kuò)展名改為.txt)記事本查看即可。如果過大不建議用記事本了,容易死掉,可以用editplus等工具.
簡單的分為下面幾個(gè)步驟來解決這個(gè)問題:
1、 mysql運(yùn)行正常,也有可能是同步設(shè)置問題導(dǎo)致.
2、 嘗試增加my.ini文件tmp_table_size的值在重啟試試
3、如果mysql運(yùn)行正常,那就是php的一些sql語句導(dǎo)致問題發(fā)現(xiàn),用root用戶進(jìn)入mysql管理
mysql -u root -p
輸入密碼
mysql:show processlist 語句,查找負(fù)荷最重的 SQL 語句,優(yōu)化該SQL,比如適當(dāng)建立某字段的索引。
a.通過這個(gè)命令我看到原來是有人惡意刷搜索,因?yàn)?/span>dedecms搜索后面調(diào)用搜索最高的詞,導(dǎo)致很多人用工具刷這個(gè),而且是定時(shí)有間隔的,所以將這個(gè)php程序改名跳轉(zhuǎn)都方法解決了。
b.當(dāng)然如果你的確實(shí)是sql語句用了大量的group by等語句,union聯(lián)合查詢等肯定會(huì)將mysql的占用率提高。所以就需要優(yōu)化sql語句,網(wǎng)站盡量生成靜態(tài)的,一般4W ip的靜態(tài)網(wǎng)站,mysql占用率幾乎為0的。所以這對(duì)于程序員的經(jīng)驗(yàn)是個(gè)考慮。盡量提高mysql性能