MySql / RedHat,高I / O等待…几个小时…然后消失

我有一个RH服务器作为VMWare实例logging全球定位系统修复24×7。 交易量在几个月内没有变化(事实上,我正在更积极地修剪交易表),在给定的时间只有60万到80万条logging。 没有adhoctypes的查询正在运行,所以我知道他们正在返回一些logging给客户端,我知道他们正在使用索引。

这个系统已经活了好几年了,在过去的几个星期里,每周几天的I / O突然增加到了+ 50%。 现在通常为空的“show processlist”显示了10到100个刚刚备份并标记为“locking”的插入请求。 就像神秘的问题一样,只要I / O等待<1%,问题就会自行恢复并运行几天!

交易组合是固定的,每天有相同数量的设备正在服务器上。 来自客户端服务器的自动查询重复定期请求。 从一个客户方面来看,一切都是一样的。 此外,这是所有这个服务器,服务器less数cgi-perl脚本作为对单个mysql数据库的Web服务。

我的想法是:

  1. Mysql表损坏。 我已经放弃了几次,重build了桌子,甚至把它改成了myisam,再改回到innodb。 这没有效果。 无论如何,我假设如果是腐败,它不会自我修复。
  2. 一个失败的硬件组件,我有一个从我身上移除的IT人员,我甚至不控制VMware实例,所以我不能真正debugging它。 再次,我看不到这一遍又一遍的自我修复。
  3. 其他虚拟机压缩我的磁盘性能。 这似乎是最有意义的,因为它来来去去。

除了sar -u和iostat报告高I / O等待以及“show processlist”显示成堆的未决locking插入的事实之外,我无法find任何东西。 机器似乎没有交换,内存不足,等等…但我不是Linuxpipe理专家,所以谁知道。 有人能给我一些想法来帮助确定问题吗?

SAMPLE sar -b(这些数字是疯狂的):

12:00:01 AM tps rtps wtps bread/s bwrtn/s ... 09:40:01 AM 75.12 1.70 73.42 13.76 1124.27 09:50:01 AM 67.78 1.09 66.69 10.75 955.04 10:00:01 AM 86.89 2.62 84.27 21.58 1334.50 10:10:01 AM 75.80 1.61 74.18 13.48 1097.77 10:20:01 AM 76.28 3.52 72.76 44.01 1055.92 10:30:02 AM 768.84 697.78 71.06 81332.71 1135.01 10:40:01 AM 72.28 2.94 69.34 61.10 1005.24 10:50:01 AM 74.80 1.34 73.46 11.36 1097.11 11:00:01 AM 67.03 1.37 65.67 11.00 924.50 11:10:01 AM 71.03 1.33 69.70 14.28 1009.19 11:20:01 AM 522.77 449.29 73.48 34524.92 1118.53 11:30:01 AM 72.06 1.61 70.45 13.01 1049.04 11:40:01 AM 73.14 1.56 71.57 12.99 1057.92 11:50:01 AM 63.44 1.07 62.37 8.68 863.00 12:00:01 PM 67.55 4.11 63.45 276.15 892.03 12:10:02 PM 856.48 792.62 63.85 101373.82 961.37 (holy cow!!!) 12:20:02 PM 1371.08 1299.65 71.42 162681.77 1160.73 12:30:02 PM 851.58 779.06 72.52 107906.82 1110.43 12:40:01 PM 849.75 778.53 71.22 103911.38 1115.13 12:50:01 PM 1793.71 1731.71 62.00 226925.63 1009.08 01:00:02 PM 1203.30 1145.78 57.52 142471.68 859.83 01:10:02 PM 1706.96 1647.98 58.98 213324.29 967.99 01:20:02 PM 1651.73 1596.54 55.19 208766.31 829.68 01:30:02 PM 1836.17 1775.53 60.63 232770.33 973.96 01:40:01 PM 1732.33 1681.82 50.51 219729.38 756.62 01:50:02 PM 1882.88 1829.40 53.48 233177.18 827.11 02:00:02 PM 2022.84 1966.71 56.13 253613.95 921.93 02:10:01 PM 1729.27 1677.31 51.97 204670.95 780.73 02:20:02 PM 1524.93 1464.76 60.17 180919.64 879.26 02:30:02 PM 1850.70 1801.40 49.29 226053.30 764.31 02:40:02 PM 1675.71 1620.18 55.53 197387.47 864.52 02:50:01 PM 1990.15 1934.81 55.33 254025.79 874.29 03:00:01 PM 1953.20 1895.80 57.40 241587.35 933.04 03:10:04 PM 907.08 877.11 29.97 86874.50 514.17 03:20:01 PM 2603.69 2555.15 48.54 273595.88 820.13 03:30:02 PM 2146.49 2101.18 45.31 282196.66 721.60 03:40:04 PM 1941.32 1895.61 45.71 222215.27 763.69 03:50:03 PM 2196.20 2152.56 43.64 250260.12 699.71 

典型的IOSTAT:

 avg-cpu: %user %nice %system %iowait %steal %idle 41.50 0.00 4.50 41.50 0.00 12.50 Device: rrqm/s wrqm/sr/sw/s rMB/s wMB/s avgrq-sz avgqu-sz await svctm %util sda 312.00 0.00 508.00 2.00 46.83 0.01 188.09 4.36 8.49 1.96 100.20 sda1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 sda2 312.00 0.00 508.00 2.00 46.83 0.01 188.09 4.36 8.49 1.96 100.20 dm-0 0.00 0.00 826.00 2.00 46.92 0.01 116.08 7.66 9.22 1.21 100.20 dm-1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 Device: rMB_nor/s wMB_nor/s rMB_dir/s wMB_dir/s rMB_svr/s wMB_svr/s ops/s rops/s wops/s avg-cpu: %user %nice %system %iowait %steal %idle 16.00 0.00 4.00 42.50 0.00 37.50 Device: rrqm/s wrqm/sr/sw/s rMB/s wMB/s avgrq-sz avgqu-sz await svctm %util sda 277.00 0.00 534.00 0.00 50.07 0.00 192.01 4.07 7.70 1.87 100.00 sda1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 sda2 277.00 0.00 534.00 0.00 50.07 0.00 192.01 4.07 7.70 1.87 100.00 dm-0 0.00 0.00 802.00 0.00 49.86 0.00 127.33 6.27 7.85 1.25 100.00 dm-1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 Device: rMB_nor/s wMB_nor/s rMB_dir/s wMB_dir/s rMB_svr/s wMB_svr/s ops/s rops/s wops/s 

典型SAR -U:

 01:01:39 PM CPU %user %nice %system %iowait %steal %idle 01:01:40 PM all 3.50 0.00 3.50 45.50 0.00 47.50 01:01:41 PM all 9.05 0.00 3.52 46.73 0.00 40.70 01:01:42 PM all 6.97 0.00 2.49 46.27 0.00 44.28 01:01:43 PM all 22.50 0.00 3.50 46.00 0.00 28.00 01:01:44 PM all 6.03 0.00 1.51 49.25 0.00 43.22 

典型的顶部:

 top - 13:03:05 up 4 days, 20:52, 1 user, load average: 5.04, 3.46, 2.97 Tasks: 280 total, 1 running, 278 sleeping, 0 stopped, 1 zombie Cpu(s): 11.2%us, 4.2%sy, 0.0%ni, 38.2%id, 46.2%wa, 0.2%hi, 0.2%si, 0.0%st Mem: 4043732k total, 4019444k used, 24288k free, 4348k buffers Swap: 6094840k total, 84k used, 6094756k free, 3048008k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 3617 mysql 15 0 403m 119m 4184 S 6.7 3.0 290:25.53 mysqld 

典型的IOTOP(这是疯狂的是?):

 Total DISK READ: 61.55 M/s | Total DISK WRITE: 0.00 B/s TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND 14375 be/4 mysql 5.41 M/s 0.00 B/s 98.17 % 99.99 % mysqld --basedir=/usr --datadir=/va~g --socket=/var/lib/mysql/mysql.sock 14543 be/4 mysql 3.35 M/s 0.00 B/s 89.86 % 99.99 % mysqld --basedir=/usr --datadir=/va~g --socket=/var/lib/mysql/mysql.sock 14615 be/4 mysql 4.57 M/s 0.00 B/s 99.99 % 99.99 % mysqld --basedir=/usr --datadir=/va~g --socket=/var/lib/mysql/mysql.sock 14613 be/4 mysql 3.79 M/s 0.00 B/s 99.99 % 99.99 % mysqld --basedir=/usr --datadir=/va~g --socket=/var/lib/mysql/mysql.sock 14306 be/4 mysql 2.53 M/s 0.00 B/s 99.99 % 99.99 % mysqld --basedir=/usr --datadir=/va~g --socket=/var/lib/mysql/mysql.sock 14283 be/4 mysql 2.88 M/s 0.00 B/s 0.00 % 99.99 % mysqld --basedir=/usr --datadir=/va~g --socket=/var/lib/mysql/mysql.sock 14310 be/4 mysql 3.76 M/s 0.00 B/s 98.96 % 99.99 % mysqld --basedir=/usr --datadir=/va~g --socket=/var/lib/mysql/mysql.sock 14298 be/4 mysql 5.16 M/s 0.00 B/s 0.00 % 99.99 % mysqld --basedir=/usr --datadir=/va~g --socket=/var/lib/mysql/mysql.sock 14532 be/4 mysql 3.31 M/s 0.00 B/s 98.97 % 99.99 % mysqld --basedir=/usr --datadir=/va~g --socket=/var/lib/mysql/mysql.sock 14573 be/4 mysql 4.90 M/s 0.00 B/s 51.72 % 99.99 % mysqld --basedir=/usr --datadir=/va~g --socket=/var/lib/mysql/mysql.sock 14389 be/4 mysql 114.30 K/s 0.00 B/s 0.00 % 99.99 % mysqld --basedir=/usr --datadir=/va~g --socket=/var/lib/mysql/mysql.sock 14575 be/4 mysql 3.44 M/s 0.00 B/s 3.62 % 99.99 % mysqld --basedir=/usr --datadir=/va~g --socket=/var/lib/mysql/mysql.sock 14583 be/4 mysql 4.71 M/s 0.00 B/s 99.99 % 99.99 % mysqld --basedir=/usr --datadir=/va~g --socket=/var/lib/mysql/mysql.sock 14471 be/4 mysql 4.33 M/s 0.00 B/s 99.99 % 98.97 % mysqld --basedir=/usr --datadir=/va~g --socket=/var/lib/mysql/mysql.sock 14302 be/4 mysql 3.48 M/s 0.00 B/s 0.19 % 98.96 % mysqld --basedir=/usr --datadir=/va~g --socket=/var/lib/mysql/mysql.sock 14527 be/4 mysql 2.52 M/s 0.00 B/s 3.24 % 98.28 % mysqld --basedir=/usr --datadir=/va~g --socket=/var/lib/mysql/mysql.sock 14344 be/4 mysql 807.69 K/s 0.00 B/s 0.29 % 98.17 % mysqld --basedir=/usr --datadir=/va~g --socket=/var/lib/mysql/mysql.sock 14561 be/4 mysql 45.72 K/s 0.00 B/s 99.99 % 51.72 % mysqld --basedir=/usr --datadir=/va~g --socket=/var/lib/mysql/mysql.sock 14565 be/4 mysql 0.00 B/s 0.00 B/s 99.99 % 3.62 % mysqld --basedir=/usr --datadir=/va~g --socket=/var/lib/mysql/mysql.sock 14441 be/4 mysql 0.00 B/s 0.00 B/s 99.99 % 3.24 % mysqld --basedir=/usr --datadir=/va~g --socket=/var/lib/mysql/mysql.sock 14336 be/4 mysql 0.00 B/s 0.00 B/s 99.99 % 2.86 % mysqld --basedir=/usr --datadir=/va~g --socket=/var/lib/mysql/mysql.sock