<button id="qvlbh"><button id="qvlbh"></button></button>
<xmp id="qvlbh"><xmp id="qvlbh"><xmp id="qvlbh"><address id="qvlbh"><output id="qvlbh"></output></address>
<xmp id="qvlbh"><legend id="qvlbh"></legend>
<xmp id="qvlbh"> <address id="qvlbh"><output id="qvlbh"></output></address>
<address id="qvlbh"><button id="qvlbh"></button></address>
<button id="qvlbh"><samp id="qvlbh"></samp></button>
<address id="qvlbh"><button id="qvlbh"></button></address><address id="qvlbh"></address>
<address id="qvlbh"><legend id="qvlbh"></legend></address>
<samp id="qvlbh"><xmp id="qvlbh"><legend id="qvlbh"></legend>
中國站
幫助中心 > 數據庫 > 云數據庫MySQL > 常見(jiàn)問(wèn)題 > CPU使用率高的原因和解決方法

CPU使用率高的原因和解決方法

問(wèn)題原因

應用提交查詢(xún)操作或數據修改操作時(shí),系統需要執行大量的邏輯讀操作,其中邏輯IO包含執行查詢(xún)所需訪(fǎng)問(wèn)表的數據行數。所以系統需要消耗大量的CPU資源以維護從存儲系統讀取到內存中的數據一致性。

說(shuō)明:
大量行鎖沖突、行鎖等待或后臺任務(wù)也有可能會(huì )導致實(shí)例的CPU使用率過(guò)高,但這些情況出現的概率非常低,本文不做討論。

解決方案

對于因應用負載高導致CPU使用率高的狀況,使用SQL進(jìn)行優(yōu)化的余地不大,建議您從應用架構、實(shí)例規格等方面來(lái)處理問(wèn)題。

  • 升級實(shí)例規格,增加CPU資源。
  • 增加只讀實(shí)例,將對數據一致性不敏感的查詢(xún)(比如商品種類(lèi)查詢(xún)、列車(chē)車(chē)次查詢(xún))轉移到只讀實(shí)例上,分擔主實(shí)例壓力,詳情請參見(jiàn)讀寫(xiě)分離。
  • 使用億速云云數據庫Memcache或者云數據庫Redis,盡量從緩存中獲取常用的查詢(xún)結果,減輕RDS實(shí)例的壓力。
  • 定期歸檔歷史數據、采用分庫分表或者分區的方式減小查詢(xún)訪(fǎng)問(wèn)的數據量。盡量?jì)?yōu)化查詢(xún),減少查詢(xún)的執行成本,提高應用可擴展性。

更多信息

系統資源算法

下文通過(guò)一個(gè)簡(jiǎn)化的模型來(lái)說(shuō)明系統資源、語(yǔ)句執行成本以及QPS(Query Per Second 每秒執行的查詢(xún)數)之間的關(guān)系。

  • 條件:應用模型恒定,即應用沒(méi)有修改。
  • avg_lgc_io:執行每條查詢(xún)需要的平均邏輯IO。
  • total_lgc_io:實(shí)例的CPU資源在單位時(shí)間內能夠處理的邏輯IO總量。
  • 關(guān)系公式:total_lgc_io = avg_lgc_io × QPS即單位時(shí)間CPU資源 = 查詢(xún)執行的平均成本 × 單位時(shí)間執行的查詢(xún)數量。

避免出現CPU使用率達到100%的原則

  • 設置CPU使用率告警,實(shí)例CPU使用率保證一定的冗余度。
  • 應用設計和開(kāi)發(fā)過(guò)程中,要考慮查詢(xún)的優(yōu)化,遵守MySQL優(yōu)化的一般優(yōu)化原則,降低查詢(xún)的邏輯IO,提高應用可擴展性。
  • 新功能、新模塊上線(xiàn)前,要使用生產(chǎn)環(huán)境數據進(jìn)行壓力測試。
  • 新功能、新模塊上線(xiàn)前,建議使用生產(chǎn)環(huán)境數據進(jìn)行回歸測試。
国产精品香港三级|日韩精品无码免费专区网站|熟女一区二区三区|一本伊大人香蕉久久网|jzzijzzij亚洲乱熟无码
<button id="qvlbh"><button id="qvlbh"></button></button>
<xmp id="qvlbh"><xmp id="qvlbh"><xmp id="qvlbh"><address id="qvlbh"><output id="qvlbh"></output></address>
<xmp id="qvlbh"><legend id="qvlbh"></legend>
<xmp id="qvlbh"> <address id="qvlbh"><output id="qvlbh"></output></address>
<address id="qvlbh"><button id="qvlbh"></button></address>
<button id="qvlbh"><samp id="qvlbh"></samp></button>
<address id="qvlbh"><button id="qvlbh"></button></address><address id="qvlbh"></address>
<address id="qvlbh"><legend id="qvlbh"></legend></address>
<samp id="qvlbh"><xmp id="qvlbh"><legend id="qvlbh"></legend>