Estimating disk performance


I’m trying to estimate how fast my disks can do on my dedicated mysql server. Which is currently doing average 140 qps and up to 300 qps at peak times.

Using sysbench, I have prepared test data like:
sysbench --test=fileio --max-time=60 --max-requests=1000000 --file-num=1 --file-extra-flags=direct --file-fsync-freq=0 --file-total-size=128M prepare
And running benchmark:
sysbench --test=fileio --max-time=60 --max-requests=1000000 --file-num=1 --file-extra-flags=direct --file-fsync-freq=0 --file-total-size=128M --file-test-mode=rndrd run

After running benchmark 10 times I ended up with following numbers:
82.46 Requests/sec executed/(1.2884Mb/sec)/approx. 95 percentile: 10.67ms
166.38 Requests/sec executed/(2.5996Mb/sec)/approx. 95 percentile: 10.77ms
146.69 Requests/sec executed/(2.2921Mb/sec)/approx. 95 percentile: 10.88ms
139.84 Requests/sec executed/(2.185Mb/sec)/approx. 95 percentile: 10.87ms
145.80 Requests/sec executed/(2.2781Mb/sec)/approx. 95 percentile: 10.83ms
138.85 Requests/sec executed/(2.1696Mb/sec)/approx. 95 percentile: 10.86ms
145.00 Requests/sec executed/(2.2657Mb/sec)/approx. 95 percentile: 10.83ms
113.40 Requests/sec executed/(1.7718Mb/sec)/approx. 95 percentile: 10.85ms
197.23 Requests/sec executed/(3.0817Mb/sec)/approx. 95 percentile: 10.44ms
157.38 Requests/sec executed/(2.459Mb/sec)/approx. 95 percentile: 10.76ms

average requests/sec is 143.3

How do I know whether it’s fast or not ?

My setup: CentOS 5.2, 8Gb RAM, io scheduler is “noop”
RAID1, Stripe Size: 64kB, 2 Seagate ST3500320NS disks technical spec 3110VgnVCM100000f5ee0a0aRCRD

Those are normal speeds for a 7200 rpm drive. If you’re using RAID 1, you’ll get redundency but no speed increase.

Expect to get around 145 writing queries per second with that setup. If you need more speed, using a RAID 10 setup is usually the cheapest way to go.