3 回答

TA貢獻(xiàn)1744條經(jīng)驗(yàn) 獲得超4個(gè)贊
首先,我想您可能要關(guān)閉持久性連接,因?yàn)樗鼈儙缀蹩偸潜状笥诶?/p>
其次,我想您要仔細(xì)檢查您的MySQL用戶,以確保任何人都無(wú)法從遠(yuǎn)程服務(wù)器進(jìn)行連接。這也是要檢查的主要安全事項(xiàng)。
第三,我想說(shuō)你想打開(kāi)MySQL Slow Query Log(MySQL慢查詢?nèi)罩荆﹣?lái)監(jiān)視花費(fèi)很長(zhǎng)時(shí)間的所有查詢,并使用它來(lái)確保沒(méi)有任何查詢會(huì)長(zhǎng)時(shí)間鎖定鍵表。
您可以檢查的其他一些事情是在CPU負(fù)載很高時(shí)運(yùn)行以下查詢:
SHOW PROCESSLIST;
這將向您顯示當(dāng)前正在運(yùn)行或正在運(yùn)行的隊(duì)列中的任何查詢,查詢的內(nèi)容以及查詢的狀態(tài)(如果該查詢時(shí)間太長(zhǎng),該命令將截?cái)嗖樵?,您可以使用SHOW FULL PROCESSLIST查看完整的查詢文本) 。
您還需要注意緩沖區(qū)大小,表緩存,查詢緩存和innodb_buffer_pool_size(如果使用的是innodb表)之類(lèi)的東西,因?yàn)樗羞@些內(nèi)存分配都可能影響查詢性能,這可能導(dǎo)致MySQL吃光CPU。
您可能還想對(duì)以下內(nèi)容進(jìn)行重新閱讀,因?yàn)樗鼈儼恍┯杏玫男畔ⅰ?/p>
MySQL如何使用內(nèi)存
MySQL系統(tǒng)變量
使用探查器也是一個(gè)很好的主意。您可以在需要時(shí)啟用一些功能,以向您顯示應(yīng)用程序正在運(yùn)行的查詢,是否存在重復(fù)的查詢,查詢需要花費(fèi)多長(zhǎng)時(shí)間等。類(lèi)似的示例就是我一直在努力的一個(gè)示例。PHP Profiler,但是有很多。如果您使用的是Drupal,Joomla或Wordpress之類(lèi)的軟件,您可能想在社區(qū)中四處詢問(wèn),因?yàn)榭赡苡锌捎玫哪K可以讓您獲得此信息而無(wú)需手動(dòng)集成任何東西。

TA貢獻(xiàn)2016條經(jīng)驗(yàn) 獲得超9個(gè)贊
由于這是如果您在Google上搜索MySQL高CPU使用率或負(fù)載的熱門(mén)文章,我將添加一個(gè)附加答案:
2012年7月1日,當(dāng)前的UTC時(shí)間增加了a秒,以補(bǔ)償由于潮汐引起的地球自轉(zhuǎn)緩慢。運(yùn)行ntp(或ntpd)時(shí),此秒已添加到計(jì)算機(jī)/服務(wù)器的時(shí)鐘中。在某些操作系統(tǒng)上,MySQLd似乎并不想多花一秒鐘的時(shí)間,并且會(huì)產(chǎn)生很高的CPU負(fù)載??焖傩迯?fù)是(作為根):
$ /etc/init.d/ntpd stop
$ date -s "`date`"
$ /etc/init.d/ntpd start

TA貢獻(xiàn)1801條經(jīng)驗(yàn) 獲得超16個(gè)贊
如果該服務(wù)器對(duì)外界可見(jiàn),那么值得檢查一下是否有大量來(lái)自外界的連接請(qǐng)求(例如,試圖闖入該服務(wù)器的人)
添加回答
舉報(bào)