<form id="nz7lr"></form>

        <address id="nz7lr"><nobr id="nz7lr"></nobr></address>

          <address id="nz7lr"><dfn id="nz7lr"><mark id="nz7lr"></mark></dfn></address>
          <address id="nz7lr"></address>

          事實:MySQL CPU使用率高的原因和解決方案

          電腦雜談  發布時間:2020-10-21 18:02:02  來源:網絡整理

          mysql cpu使用率100_mysql cpu使用率100

          1.問題原因

          mysql cpu使用率100_mysql cpu使用率100

          1. 1高應用程序負載(QPS)

          mysql cpu使用率100_mysql cpu使用率100

          1. 2.查詢執行成本(查詢訪問表數據行avg_lgc_io)高

          mysql cpu使用率100_mysql cpu使用率100

          2.解決方案

          mysql cpu使用率100_mysql cpu使用率100

          2. 1高應用程序負載(QPS)

          2. 2查詢語句的執行成本(查詢訪問表中的行數)高

          3.避免100%CPU使用率并影響業務的一般原則1.問題的原因:應用程序提交的查詢(包括數據修改操作)需要大量的邏輯讀取(邏輯IO,需要執行查詢)(被訪問表的數據行數),系統需要消耗大量CPU資源來維持從存儲系統讀取到內存的數據的一致性。注意:本文不排除由于其他MySQL原因(例如大量的行鎖沖突,行鎖等待)或后臺任務而導致實例CPU使用率過高的情況,但是這種情況的可能性非常低,因此我不會在這里討論。一個簡化的模型用于說明系統資源,語句執行成本和QPS(每秒查詢)之間的關系:條件:應用程序模型是恒定的(未修改應用程序),avg_lgc_io:每次查詢執行所需的條件平均值邏輯IOtotal_lgc_io:實例CPU資源每單位時間可以處理的邏輯IO總量。公式:total_lgc_io = avg_lgc_io x QPS-每單位時間的CPU資源=平均查詢執行成本x每單位時間執行的查詢數這是兩種典型的CPU使用率100%場景:1. 1高應用程序負載(QPS)功能:實例具有較高的QPS(每秒執行的查詢數),查詢相對簡單,執行效率高且優化空間較小。

          性能:沒有慢查詢(或慢查詢不是問題的主要原因),并且QPS和CPU使用率曲線是一致的。它通常用于應用程序優化的交易交易系統(例如訂單系統),具有高讀取率的流行網站應用程序以及第三方壓力工具測試(例如Sysbench)。 1. 2.查詢執行成本(查詢訪問表數據行avg_lgc_io)高特征:實例的QPS(每秒執行的查詢數)不高;查詢的執行效率低,執行需要掃描大量的表數據,并且有很大的優化空間。性能:查詢速度慢,并且QPS和CPU使用率曲線不匹配。查詢執行效率低。為了獲得預期的結果集,需要訪問大量數據(平均邏輯IO高)。當QPS不高時(例如,網站訪問量不大),實例的CPU使用率也高。注意:由于查詢執行效率低(查詢訪問表中的行數很大),因此實例的CPU使用率高是RDS MySQL的一個非常普遍的問題。 2解決方案DMS工具提供了一些良好的功能,可幫助進行故障排除和解決實例性能問題。主要的是:實例診斷報告是用于故障排除和解決RDS MySQL實例性能問題的最佳和最快的工具。無論由于任何原因導致的性能問題,建議首先參考示例診斷報告,尤其是診斷報告的“ SQL優化”,“會話列表”和“ SQL慢摘要”部分。

          2. 1應用程序負載(QPS)高。在這種情況下,SQL查詢優化沒有太多空間。建議考慮應用程序體系結構,實例規范等來解決該問題:注意:可以啟動查詢緩存(Query Cache)嗎?好處需要測試。 2. 2查詢執行成本高(查詢訪問表中的數據行數)。解決方案原理:定位低效率查詢,優化查詢執行效率,降低查詢執行成本。步驟1如果當前CPU使用率較高,可以使用show processlist;,show full processlist;對于較長的查詢時間,運行狀態(“狀態”列)為“正在發送數據”,“正在復制到tmp表”,“正在復制到“磁盤”上的tmp表”,“排序結果”,“正在使用文件排序”,等等。 SQL),可能會出現性能問題。您可以通過執行kill 101031643;之類的命令來終止長時間運行的會話。注1:在QPS高導致CPU使用率高的情況下,查詢執行時間通常相對較短,并且在show processlist或實例會話中捕獲當前執行的查詢可能并不容易注2:查詢SQL的執行計劃也可以通過命令explait select b。*從perf_test_no_idx_01 a,perf_test_no_idx_02 b中獲得。 created_on> = 2015-01-01且a.detail = b.detail,或在SQL窗口中從“執行計劃”子選項卡頁獲取它。對于CPU使用率高的問題,建議注意診斷報告的“ SQL優化”,“會話列表”和“ SQL慢速摘要”部分(強調添加了ag ain)。注意1:診斷報告還適用于對CPU使用率高的歷史實例進行故障診斷。注意2:由于高QPS和低查詢效率的混合模式導致CPU使用率高,建議從優化查詢開始。 3避免使用CPU使用率達到100%并影響業務的一般原則


          本文來自電腦雜談,轉載請注明本文網址:
          http://www.jamf128.com/a/shoujiruanjian/article-327623-1.html

            發表評論  請自覺遵守互聯網相關的政策法規,嚴禁發布、暴力、反動的言論

            • 呂不辰
              呂不辰

              飲料不飲料酒不像酒的玩意

            熱點圖片
            拼命載入中...
            暖暖视频免费观看视频中文