-
查看iostat状态
-
sdb 0.00 1.98 0.00 8.91 0.00 51.49 11.56 0.40 44.56 0.00 44.56 17.44 15.54
-
sdb 0.00 2.02 0.00 3.03 0.00 32.32 21.33 0.06 18.33 0.00 18.33 18.33 5.56
-
sdb 0.00 0.00 2.00 0.00 32.00 0.00 32.00 0.09 9.00 9.00 0.00 43.00 8.60
-
sdb 0.00 2.00 1.00 3.00 16.00 32.00 24.00 0.07 35.25 11.00 43.33 18.25 7.30
-
sdb 0.00 2.00 7.00 3.00 176.00 36.00 42.40 0.14 14.40 10.71 23.00 10.80 10.80
-
sdb 0.00 2.02 2.02 3.03 32.32 28.28 24.00 0.19 37.80 25.50 46.00 37.80 19.09
-
sdb 0.00 1.98 0.00 2.97 0.00 19.80 13.33 0.07 24.33 0.00 24.33 24.33 7.23
-
sdb 0.00 2.00 6.00 3.00 368.00 28.00 88.00 0.14 15.11 12.33 20.67 13.56 12.20
-
sdb 0.00 1.98 0.99 2.97 15.84 35.64 26.00 0.07 18.25 8.00 21.67 18.25 7.23
-
sdb 0.00 2.02 1.01 3.03 16.16 28.28 22.00 0.05 12.25 17.00 10.67 12.75 5.15
-
sdb 0.00 8.00 3.00 5.00 48.00 456.00 126.00 0.27 33.62 14.00 45.40 22.38 17.90
-
sdb 0.00 2.00 6.00 3.00 208.00 28.00 52.44 0.13 14.89 17.00 10.67 5.33 4.80
-
sdb 0.00 2.02 1.01 3.03 16.16 24.24 20.00 0.08 20.25 9.00 24.00 20.25 8.18
-
sdb 0.00 2.00 2.00 3.00 32.00 28.00 24.00 0.07 14.60 13.50 15.33 14.60 7.30
-
sdb 0.00 2.00 4.00 3.00 64.00 52.00 33.14 0.09 13.00 11.50 15.00 13.00 9.10
-
sdb 0.00 0.00 2.02 0.00 32.32 0.00 32.00 0.03 13.00 13.00 0.00 17.00 3.43
-
sdb 0.00 2.00 10.00 3.00 3728.00 32.00 578.46 0.22 17.46 15.40 24.33 7.08 9.20
-
sdb 0.00 1.98 3.96 2.97 63.37 31.68 27.43 0.13 18.29 16.00 21.33 18.71 12.97
-
-
util基本1秒一波动,很符合log_buffer写数据到log_file的规律(每隔1秒写入)
查看innodb状态(oradba 或者 dodba 或者脚本)
-
-------- ---innodb bp pages status-- -----innodb data status---- --innodb log-- his --log(byte)-- read ---query---
time | data free dirty flush| reads writes read written|fsyncs written| list uflush uckpt view inside que|
15:52:27| 596582 8168 11939 797| 31 1034 496k 27.9m| 219 3.0m| 2430 998 70.9m 0 0 0|
15:52:29| 596575 8172 11553 910| 48 1090 768k 30.7m| 162 9.2m| 2467 25k 73.0m 1 0 0|
15:52:30| 596578 8167 11283 824| 43 1018 688k 28.2m| 179 2.4m| 2619 1k 54.7m 1 0 0|
15:52:31| 596557 8179 10976 831| 44 1017 704k 28.3m| 168 10 m| 2612 4k 57.0m 3 0 0|
15:52:32| 596546 8187 10840 743| 25 945 400k 25.7m| 186 9.0m| 2720 1k 59.4m 1 0 0|
15:52:33| 596662 8066 10400 1168| 158 1398 2.5m 39.4m| 206 5.0m| 2768 1k 62.2m 2 0 0|
-
-
可以看到Innodb_data_written每秒的写入量很稳定,没什么大的波动,但是Innodb_os_log_written的波动比较频繁
-
结合上iostat中 wsec/s 较大的数值,基本可以确定IO高负载的元凶是redo log的flush,而不是data page的flush
-
查看innodb log buffer状态
-
mysql> show global status where variable_name in('Innodb_log_waits','Innodb_buffer_pool_wait_free');
-
+------------------------------+-------+
-
| Variable_name | Value |
-
+------------------------------+-------+
-
| Innodb_buffer_pool_wait_free | 0 |
-
| Innodb_log_waits | 2560 | ####log buffer过小导致写日志等待数。单位是次。
-
+------------------------------+-------+
-
加大log_buffer_pool与innodb_log_file_size的值,重启数据库,发现iowait降低,slave开始下降!