MySql數(shù)據(jù)庫(InnoDB存儲(chǔ)類型)占用I/O資源高處理
一.檢查確認(rèn)占用I/O高的進(jìn)程
Windows
1.打開任務(wù)管理器查看較占資源的進(jìn)程.
2.資源監(jiān)視器-磁盤-按讀、寫排序進(jìn)一步核查:
圖片1.png
Linux
1.運(yùn)行top命令查看較占資源的進(jìn)程.
圖片2.png
參數(shù):78.2%wa :數(shù)值較高,表示cpu 中出現(xiàn)嚴(yán)重硬件I/O等待問題,通常就是讀寫磁盤 I/O 造成的
2.使用iotop命令進(jìn)一步核查
[root@ebs-xxx ~]# iotop -o # 僅顯示占用I/O的進(jìn)程
# 如提示未安裝iotop,運(yùn)行以下命令進(jìn)行安裝:
[root@ebs-xxx ~]# yum install -y iotop
圖片3.png
二.優(yōu)化innodb格式表數(shù)據(jù)庫的配置
修改mysql配置文件調(diào)整或添加以下參數(shù)就能解決mysql占I/O資源的問題:
innodb_flush_log_at_trx_commit = 2 #保存后重啟mysql服務(wù)
注意:
★ 該解決方案主要針對(duì)數(shù)據(jù)庫表存儲(chǔ)類型為:InnoDB 有效。
★ innodb_flush_log_at_trx_commit=2 會(huì)犧牲一定的的數(shù)據(jù)安全性。如果對(duì)數(shù)據(jù)安全性,可靠性有較高要求的,如支付類、金融類、較大的訂單系統(tǒng)類等建議不要調(diào)整。
來源:西部數(shù)碼