亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

mysql數據庫磁盤io高的排查是怎樣的

發布時間:2021-10-08 16:25:56 來源:億速云 閱讀:770 作者:柒染 欄目:MySQL數據庫

mysql數據庫磁盤io高的排查是怎樣的,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

     最近,數據庫會報磁盤IO高的告警,但是cpu不高。

故障 
● 主機名稱: xxxx
● 告警信息: Disk I/O is overloaded on xxxx 
● 告警時間: 2020.04.10-13:09:06 
● 主機地址: xxxxxx
● 當前狀態: 36.14 %

   數據庫磁盤io高時,執行的sql如下:

2527 | xxxx | 172.xxxx:35072 | xxxx | Query | 0 | update | insert ignore into `xxxxannotations` (`trace_ |

2528 |xxxn | 172.xxxx:37270 | xxxx | Query | 0 | update | insert ignore into `xxxxannotations` (`trace_id`, `s

2530 | xxxx | 172.xxxx:44210 | xxxx | Query | 0 | update | insert into `xxxx_spans` (`trace_id`, `id`, `debug`, `start_ts`, `name

2531 |xxxx | 172.xxxx:45910 | xxxx | Query | 0 | query end | insert ignore into `xxxx_annotations`4'', -14081082788031) |

2532 | xxx | 172.xxxx:58890 | xxxx | Sleep | 0 | | NULL

    也就是數據庫會批量的執行insert ignore into 語句。

mysql> show engine innodb status \G

 

---TRANSACTION 1557551308, not started flushing log

 

---TRANSACTION 1557551309, not started flushing log

 

---TRANSACTION 1557551310, not started flushing log

 

---TRANSACTION 1557551311, not started flushing log

 

---TRANSACTION 1557551313, not started flushing log

 

---TRANSACTION 1557551304, not started flushing log

............


    可以看到,每個事務都在flushing log中,說明刷redo log比較慢。可能是redo log 比較小。

mysql> show variables like '%innodb_log_file_size%';

+----------------------+----------+

| Variable_name | Value |

+----------------------+----------+

| innodb_log_file_size | 50331648 |

+----------------------+----------+

1 row in set (0.00 sec)

   事實證明,innodb_log_file_size確實比較小,才50M,建議增大至2個4G。

   繼續分析:

mysql> show engine innodb status \G

--------

FILE I/O

--------

..........

Pending flushes (fsync) log: 1; buffer pool: 0

1 pending preads, 0 pending pwrites

................

 

 

LOG

---

Log sequence number 988322448590

Log flushed up to 988322444468

Pages flushed up to 988311239867

Last checkpoint at 988309561881

1 pending log writes, 0 pending chkp writes

23371463 log i/o's done,  132.33 log i/o's/second

    上述看到log thread 掛起的fsync()操作數據為1,說明log thread刷盤有等待。

    另外,last checkpoint落后于log flushed up to太多,接近于redo log文件的大小,這時會觸發innodb瘋狂刷redo,從而導致磁盤io高,對性能影響非常糟糕。

    還有,這個數據庫的innodb buffer pool也很小,使用的默認值為128M,也需要調大。

   優化方法:

        設置innodb_log_file_size=4G,設置innodb_buffer_pool_size=4G。

        經過觀察,數據庫磁盤io高、cpu不高的問題消失。

看完上述內容,你們掌握mysql數據庫磁盤io高的排查是怎樣的的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

滕州市| 呼图壁县| 湘乡市| 项城市| 邵东县| 张家港市| 辽阳县| 屏东县| 鹤峰县| 济阳县| 河北省| 麻江县| 平舆县| 四子王旗| 柳州市| 晋城| 临泽县| 长汀县| 渑池县| 永仁县| 昭通市| 西宁市| 志丹县| 华池县| 石柱| 清水县| 瓦房店市| 常熟市| 涞源县| 嘉义县| 洱源县| 五莲县| 张家港市| 屏东县| 砚山县| 遂溪县| 东宁县| 阿瓦提县| 德庆县| 荃湾区| 福清市|