主頁 > 知識(shí)庫 > MySQL服務(wù)器 IO 100%的分析與優(yōu)化方案

MySQL服務(wù)器 IO 100%的分析與優(yōu)化方案

熱門標(biāo)簽:外呼系統(tǒng)服務(wù) 高德地圖標(biāo)注中心個(gè)人注冊(cè) 電銷機(jī)器人針對(duì)的 外呼系統(tǒng)防封號(hào)違法嗎 寶應(yīng)電信400電話辦理費(fèi)用 高德地圖標(biāo)注模式 如何在高德地圖標(biāo)注新地址 湘潭電銷機(jī)器人咨詢電話 400電話辦理都選易號(hào)網(wǎng)

前言

壓力測試過程中,如果因?yàn)橘Y源使用瓶頸等問題引發(fā)最直接性能問題是業(yè)務(wù)交易響應(yīng)時(shí)間偏大,TPS逐漸降低等。而問題定位分析通常情況下,最優(yōu)先排查的是監(jiān)控服務(wù)器資源利用率,例如先用TOP 或者nmon等查看CPU、內(nèi)存使用情況,然后在排查IO問題,例如網(wǎng)絡(luò)IO、磁盤IO的問題。 如果是磁盤IO問題,一般問題是SQL語法問題、MYSQL參數(shù)配置問題、服務(wù)器自身硬件瓶頸導(dǎo)致IOPS吞吐率問題。

本文主要給大家介紹的是關(guān)于MySQL服務(wù)器 IO 100%的分析與優(yōu)化方案,下面話不多說了,來一起看看詳細(xì)的介紹吧

【問題】

有臺(tái)MySQL 5.6.21的數(shù)據(jù)庫實(shí)例以寫入為主,IO %util接近100%

寫入IOPS很高

【分析過程】

1、通過iotop工具可以看到當(dāng)前IO消耗最高的mysql線程

2、查看線程49342的堆棧,可以看到正在進(jìn)行redo log的刷新,對(duì)應(yīng)的是9號(hào)文件

3、9號(hào)文件對(duì)應(yīng)的是redo log的第一個(gè)文件

為什么mysql進(jìn)程會(huì)頻繁的刷新redo log文件,要結(jié)合redolog的刷盤策略來分析,關(guān)鍵是innodb_flush_log_at_trx_commit參數(shù),

默認(rèn)是1,最安全,但在寫壓力大的情況下,也會(huì)帶來較大的性能影響,每次事務(wù)提交時(shí)MySQL都會(huì)把log buffer的數(shù)據(jù)寫入log file,并且flush(刷到磁盤)中去。

結(jié)合這個(gè)集群的寫入場景來看,大部分都是小事務(wù)的寫入,每次事務(wù)提交都會(huì)觸發(fā)刷盤動(dòng)作,這種場景下通過增大innodb_log_buffer_size和innodb_log_file_size的優(yōu)化效果不明顯

【優(yōu)化方案】

1、應(yīng)用層面,對(duì)于寫壓力大的系統(tǒng),可以將單條的insert語句優(yōu)化為小批量的insert語句,這樣事務(wù)commit的次數(shù)減少,redo log刷盤減少,性能理論上會(huì)有提升

2、MySQL層面,對(duì)于日志類型的系統(tǒng),如果允許宕機(jī)的情況下少量數(shù)據(jù)丟失,可以將innodb_flush_log_at_trx_commit參數(shù)調(diào)整為2,

當(dāng)設(shè)置為2時(shí),則在事務(wù)提交時(shí)只做write操作,只保證寫到系統(tǒng)的page cache,因此實(shí)例crash不會(huì)丟失事務(wù),但宕機(jī)則可能丟失事務(wù)

在這臺(tái)服務(wù)器上測試,將參數(shù)調(diào)整為2時(shí),IO的請(qǐng)求從200M/S降到約10M/S壓力會(huì)減少10倍以上

3、系統(tǒng)層面,更換性能更佳的磁盤

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

您可能感興趣的文章:
  • 分析Mysql表讀寫、索引等操作的sql語句效率優(yōu)化問題
  • 小米正式開源 SQL 智能優(yōu)化與改寫工具 SOAR
  • Mysql優(yōu)化order by語句的方法詳解
  • MYSQL配置參數(shù)優(yōu)化詳解
  • MySQL中聚合函數(shù)count的使用和性能優(yōu)化技巧
  • Mysql查詢最近一條記錄的sql語句(優(yōu)化篇)
  • 30個(gè)mysql千萬級(jí)大數(shù)據(jù)SQL查詢優(yōu)化技巧詳解
  • PHP+MySQL實(shí)現(xiàn)對(duì)一段時(shí)間內(nèi)每天數(shù)據(jù)統(tǒng)計(jì)優(yōu)化操作實(shí)例
  • SQL語句優(yōu)化之JOIN和LEFT JOIN 和 RIGHT JOIN語句的優(yōu)化
  • 數(shù)據(jù)庫sql語句優(yōu)化

標(biāo)簽:賀州 馬鞍山 宿遷 佛山 蘭州 黃山 南充 黔南

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《MySQL服務(wù)器 IO 100%的分析與優(yōu)化方案》,本文關(guān)鍵詞  MySQL,服務(wù)器,100%,的,分析,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《MySQL服務(wù)器 IO 100%的分析與優(yōu)化方案》相關(guān)的同類信息!
  • 本頁收集關(guān)于MySQL服務(wù)器 IO 100%的分析與優(yōu)化方案的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章