<li id="c4loq"><acronym id="c4loq"></acronym></li>

<button id="c4loq"></button>
    <dd id="c4loq"><pre id="c4loq"></pre></dd>

      <th id="c4loq"></th>

        <dd id="c4loq"></dd>

        幫助中心 > 數據庫 > 云數據庫MySQL > 常見問題 > CPU使用率高的原因和解決方法
        CPU使用率高的原因和解決方法

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

        問題原因

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

        大量行鎖沖突、行鎖等待或后臺任務也有可能會導致實例的CPU使用率過高,但這些情況出現的概率非常低,本文不做討論。
        

        解決方案

        下文通過一個簡化的模型來說明系統資源、語句執行成本以及QPS(Query Per Second 每秒執行的查詢數)之間的關系。

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

        您可以利用數據管理(DMS)或者CloudDBA解決MySQL實例CPU使用率過高的問題。下文主要介紹使用DMS來解決CPU使用率過高的問題。

        數據管理工具提供了輔助排查并解決實例性能問題的功能,主要有以下幾種。

        ? 實例診斷報告。
        ? SQL窗口提供的查詢優化建議和查看執行計劃。
        ? 實例會話。

        其中,實例診斷報告是排查和解決MySQL實例性能問題的最佳工具。無論何種原因導致的性能問題,建議您首先參考下實例診斷報告,尤其是診斷報告中的SQL優化、會話列表和慢SQL匯總。

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

        1. 設置CPU使用率告警,實例CPU使用率保證一定的冗余度。
        2. 應用設計和開發過程中,要考慮查詢的優化,遵守MySQL優化的一般優化原則,降低查詢的邏輯IO,提高應用可擴展性。
        3. 新功能、新模塊上線前,要使用生產環境數據進行壓力測試??梢钥紤]使用阿里云PTS壓力測試工具。
        4. 新功能、新模塊上線前,建議使用生產環境數據進行回歸測試。
        5. 建議經常關注和使用DMS中的診斷報告。
        黄片免费无马赛克

        <li id="c4loq"><acronym id="c4loq"></acronym></li>

        <button id="c4loq"></button>
        <dd id="c4loq"><pre id="c4loq"></pre></dd>

          <th id="c4loq"></th>

            <dd id="c4loq"></dd>