mysql 数据库 poor IO performance.从DELL 815(6disk raid 5,oel5.5) 迁移至 HP DL380 (14disk raid 1+0,rhl5.8)
当时的IO 表现
avg-cpu: %user %nice %system %iowait %steal %idle
4.55 0.00 1.30 0.25 0.00 93.90
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util
cciss/c0d0 0.00 5.00 0.00 5.00 0.00 40.00 16.00 0.00 0.30 0.30 0.15
cciss/c0d0p1
0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
cciss/c0d0p2
0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
cciss/c0d0p3
0.00 5.00 0.00 5.00 0.00 40.00 16.00 0.00 0.30 0.30 0.15
cciss/c0d0p4
0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
cciss/c0d0p5
0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
cciss/c0d0p6
0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
cciss/c0d1 0.00 1199.00 4.50 2289.00 66.00 13952.00 12.22 0.88 0.38 0.37 85.35
cciss/c0d1p1
0.00 1199.00 4.50 2289.00 66.00 13952.00 12.22 0.88 0.38 0.37 85.35
Average: DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
Average: dev104-0 34.67 0.00 20727.64 597.80 0.02 0.51 0.12 0.40
Average: dev104-1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: dev104-2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: dev104-3 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: dev104-4 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: dev104-5 34.67 0.00 20727.64 597.80 0.02 0.51 0.12 0.40
Average: dev104-6 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: dev104-16 2676.38 7654.27 29005.03 13.70 2.47 0.92 0.37 98.04
Average: dev104-17 2676.38 7654.27 29005.03 13.70 2.47 0.92 0.37 98.04
%util 接近90%. 临时修改sync_binlog=0 问题解决 (源库sync_binlog=1 没有出现这种问题)
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util
cciss/c0d0 0.00 9094.00 0.00 136.00 0.00 36920.00 542.94 0.05 0.35 0.10 1.40
cciss/c0d0p1
0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
cciss/c0d0p2
0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
cciss/c0d0p3
0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
cciss/c0d0p4
0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
cciss/c0d0p5
0.00 9094.00 0.00 136.00 0.00 36920.00 542.94 0.05 0.35 0.10 1.40
cciss/c0d0p6
0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
cciss/c0d1 0.00 575.00 25.00 18.00 400.00 2372.00 128.93 0.17 4.03 3.81 16.40
cciss/c0d1p1
0.00 575.00 25.00 18.00 400.00 2372.00 128.93 0.17 4.03 3.81 16.40
05:43:19 PM DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
05:43:21 PM dev104-0 1.01 0.00 72.36 72.00 0.00 0.00 0.00 0.00
05:43:21 PM dev104-1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
05:43:21 PM dev104-2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
05:43:21 PM dev104-3 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
05:43:21 PM dev104-4 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
05:43:21 PM dev104-5 1.01 0.00 72.36 72.00 0.00 0.00 0.00 0.00
05:43:21 PM dev104-6 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
05:43:21 PM dev104-16 52.76 1165.83 5089.45 118.55 0.25 4.77 4.68 24.67
05:43:21 PM dev104-17 52.76 1165.83 5089.45 118.55 0.25 4.77 4.68 24.67
%util,tps,均大幅下降。应用类型为快速插入commit 操作。
测试对比DELL815, HP DL380 IO 表现:
DELL PowerEdge R815
[root@db-2-2 iozone]# iozone -i 0 -i 1 -r 4096 -s 2G -Recb /data/mysql/iozone/log.xls -t 2 -C |tee /data/mysql/iozone/iozone.log
Iozone: Performance Test of File I/O
Version $Revision: 3.315 $
Compiled for 64 bit mode.
Build: linux
Contributors:William Norcott, Don Capps, Isom Crawford, Kirby Collins
Al Slater, Scott Rhine, Mike Wisner, Ken Goss
Steve Landherr, Brad Smith, Mark Kelly, Dr. Alain CYR,
Randy Dunlap, Mark Montague, Dan Million, Gavin Brebner,
Jean-Marc Zucconi, Jeff Blomberg, Benny Halevy,
Erik Habbinga, Kris Strecker, Walter Wong, Joshua Root.
Run began: Tue Jan 29 11:11:51 2013
Record Size 4096 KB
File size set to 2097152 KB
Excel chart generation enabled
Include fsync in write timing
Include close in write timing
Command line used: iozone -i 0 -i 1 -r 4096 -s 2G -Recb /data/mysql/iozone/log.xls -t 2 -C
Output is in Kbytes/sec
Time Resolution = 0.000001 seconds.
Processor cache size set to 1024 Kbytes.
Processor cache line size set to 32 bytes.
File stride size set to 17 * record size.
Throughput test with 2 processes
Each process writes a 2097152 Kbyte file in 4096 Kbyte records
Children see throughput for 2 initial writers = 197313.41 KB/sec
Parent sees throughput for 2 initial writers = 174735.45 KB/sec
Min throughput per process = 87504.14 KB/sec
Max throughput per process = 109809.27 KB/sec
Avg throughput per process = 98656.70 KB/sec
Min xfer = 1671168.00 KB
Child[0] xfer count = 1671168.00 KB, Throughput = 87504.14 KB/sec
Child[1] xfer count = 2097152.00 KB, Throughput = 109809.27 KB/sec
Children see throughput for 2 rewriters = 203248.12 KB/sec
Parent sees throughput for 2 rewriters = 203053.04 KB/sec
Min throughput per process = 101543.17 KB/sec
Max throughput per process = 101704.95 KB/sec
Avg throughput per process = 101624.06 KB/sec
Min xfer = 2097152.00 KB
Child[0] xfer count = 2097152.00 KB, Throughput = 101543.17 KB/sec
Child[1] xfer count = 2097152.00 KB, Throughput = 101704.95 KB/sec
Children see throughput for 2 readers = 2397158.38 KB/sec
Parent sees throughput for 2 readers = 2391863.63 KB/sec
Min throughput per process = 1176860.12 KB/sec
Max throughput per process = 1220298.25 KB/sec
Avg throughput per process = 1198579.19 KB/sec
Min xfer = 2023424.00 KB
Child[0] xfer count = 2023424.00 KB, Throughput = 1176860.12 KB/sec
Child[1] xfer count = 2097152.00 KB, Throughput = 1220298.25 KB/sec
Children see throughput for 2 re-readers = 2600163.88 KB/sec
Parent sees throughput for 2 re-readers = 2592894.05 KB/sec
Min throughput per process = 1271696.50 KB/sec
Max throughput per process = 1328467.38 KB/sec
Avg throughput per process = 1300081.94 KB/sec
Min xfer = 2011136.00 KB
Child[0] xfer count = 2011136.00 KB, Throughput = 1271696.50 KB/sec
Child[1] xfer count = 2097152.00 KB, Throughput = 1328467.38 KB/sec
"Throughput report Y-axis is type of test X-axis is number of processes"
"Record size = 4096 Kbytes "
"Output is in Kbytes/sec"
" Initial write " 197313.41
" Rewrite " 203248.12
" Read " 2397158.38
" Re-read " 2600163.88
—————————————————————–
HP ProLiant DL380p Gen8
[root@DCB-SRV-0225 data1]# iozone -i 0 -i 1 -r 4096 -s 2G -Recb /data1/iozone/log.xls -t 2 -C |tee /data1/iozone/iozone.log
Iozone: Performance Test of File I/O
Version $Revision: 3.315 $
Compiled for 64 bit mode.
Build: linux
Contributors:William Norcott, Don Capps, Isom Crawford, Kirby Collins
Al Slater, Scott Rhine, Mike Wisner, Ken Goss
Steve Landherr, Brad Smith, Mark Kelly, Dr. Alain CYR,
Randy Dunlap, Mark Montague, Dan Million, Gavin Brebner,
Jean-Marc Zucconi, Jeff Blomberg, Benny Halevy,
Erik Habbinga, Kris Strecker, Walter Wong, Joshua Root.
Run began: Tue Jan 29 10:50:05 2013
Record Size 4096 KB
File size set to 2097152 KB
Excel chart generation enabled
Include fsync in write timing
Include close in write timing
Command line used: iozone -i 0 -i 1 -r 4096 -s 2G -Recb /data1/iozone/log.xls -t 2 -C
Output is in Kbytes/sec
Time Resolution = 0.000001 seconds.
Processor cache size set to 1024 Kbytes.
Processor cache line size set to 32 bytes.
File stride size set to 17 * record size.
Throughput test with 2 processes
Each process writes a 2097152 Kbyte file in 4096 Kbyte records
Children see throughput for 2 initial writers = 372381.80 KB/sec
Parent sees throughput for 2 initial writers = 371527.79 KB/sec
Min throughput per process = 185643.42 KB/sec
Max throughput per process = 186738.38 KB/sec
Avg throughput per process = 186190.90 KB/sec
Min xfer = 2084864.00 KB
Child[0] xfer count = 2084864.00 KB, Throughput = 185643.42 KB/sec
Child[1] xfer count = 2097152.00 KB, Throughput = 186738.38 KB/sec
Children see throughput for 2 rewriters = 560498.03 KB/sec
Parent sees throughput for 2 rewriters = 560283.33 KB/sec
Min throughput per process = 280219.81 KB/sec
Max throughput per process = 280278.22 KB/sec
Avg throughput per process = 280249.02 KB/sec
Min xfer = 2097152.00 KB
Child[0] xfer count = 2097152.00 KB, Throughput = 280219.81 KB/sec
Child[1] xfer count = 2097152.00 KB, Throughput = 280278.22 KB/sec
Children see throughput for 2 readers = 7649346.50 KB/sec
Parent sees throughput for 2 readers = 7612895.95 KB/sec
Min throughput per process = 3796191.50 KB/sec
Max throughput per process = 3853155.00 KB/sec
Avg throughput per process = 3824673.25 KB/sec
Min xfer = 2076672.00 KB
Child[0] xfer count = 2076672.00 KB, Throughput = 3796191.50 KB/sec
Child[1] xfer count = 2097152.00 KB, Throughput = 3853155.00 KB/sec
Children see throughput for 2 re-readers = 8173770.00 KB/sec
Parent sees throughput for 2 re-readers = 8132688.68 KB/sec
Min throughput per process = 4063641.50 KB/sec
Max throughput per process = 4110128.50 KB/sec
Avg throughput per process = 4086885.00 KB/sec
Min xfer = 2084864.00 KB
Child[0] xfer count = 2097152.00 KB, Throughput = 4110128.50 KB/sec
Child[1] xfer count = 2084864.00 KB, Throughput = 4063641.50 KB/sec
"Throughput report Y-axis is type of test X-axis is number of processes"
"Record size = 4096 Kbytes "
"Output is in Kbytes/sec"
" Initial write " 372381.80
" Rewrite " 560498.03
" Read " 7649346.50
" Re-read " 8173770.00
iozone test complete.
所有指数 HP 都秒杀dell 了.
参考 ext3 and sync-binlog do not play well together。 看来在不同的OS版本上,mysql之于ext3的performance仍然是存在区别的。