system:
2 quad core Intel(R) Xeon(R) CPU E5530 @ 2.40GHz
CentOS release 5.3 (Final)
24GB of RAM
fio-format -f -s75% /dev/fct0 and /dev/fct1
Fusion-io ioDrive Duo 320GB
Fusion-io driver version: 1.2.7.2
XFS filesystem, mounted nobarrier
| size | type | thr | bytes/sec | req/sec | 95pct | max |
| 100G | rndrd | 1 | 189.59Mb | 12133.81 | 0.10 | 242.01 |
| 100G | rndrd | 4 | 484.74Mb | 31023.35 | 0.16 | 24.24 |
| 100G | rndrd | 8 | 489.85Mb | 31350.49 | 0.30 | 25.20 |
| 100G | rndrd | 16 | 491.31Mb | 31443.53 | 0.56 | 25.37 |
| 100G | rndrd | 32 | 667.11Mb | 42694.94 | 1.06 | 25.82 |
| 100G | rndrd | 64 | 693.35Mb | 44374.41 | 2.85 | 26.98 |
| size | type | thr | bytes/sec | req/sec | 95pct | max |
| 100G | rndwr | 1 | 219.69Mb | 14060.17 | 0.08 | 218.53 |
| 100G | rndwr | 4 | 289.93Mb | 18555.36 | 0.13 | 48.93 |
| 100G | rndwr | 8 | 209.2Mb | 13388.76 | 0.38 | 48.90 |
| 100G | rndwr | 16 | 245.2Mb | 15693.10 | 1.92 | 69.83 |
| 100G | rndwr | 32 | 218.55Mb | 13987.24 | 15.93 | 69.93 |
| 100G | rndwr | 64 | 227.16Mb | 14538.19 | 22.13 | 130.82 |
mdadm --create --verbose /dev/md0 --level=0 --raid-devices=2 /dev/fioa /dev/fiob
mkfs.xfs -f /dev/md0
| size | type | thr | bytes/sec | req/sec | 95pct,ms | max,ms |
| 100G | rndrd | 1 | 184.09Mb | 11781.77 | 0.09 | 201.74 |
| 100G | rndrd | 4 | 608.59Mb | 38949.51 | 0.14 | 119.73 |
| 100G | rndrd | 8 | 844.07Mb | 54020.25 | 0.22 | 119.68 |
| 100G | rndrd | 16 | 922.37Mb | 59031.81 | 0.45 | 24.98 |
| 100G | rndrd | 32 | 995.98Mb | 63743.04 | 0.74 | 26.84 |
| 100G | rndrd | 64 | 1.2555Gb | 82281.50 | 1.21 | 25.59 |
| size | type | thr | bytes/sec | req/sec | 95pct,ms | max,ms |
| 100G | rndwr | 1 | 213.71Mb | 13677.17 | 0.08 | 223.48 |
| 100G | rndwr | 4 | 451.65Mb | 28905.58 | 0.11 | 48.11 |
| 100G | rndwr | 8 | 338.71Mb | 21677.30 | 0.17 | 48.69 |
| 100G | rndwr | 16 | 406.05Mb | 25986.96 | 1.17 | 48.94 |
| 100G | rndwr | 32 | 406.87Mb | 26039.50 | 7.65 | 58.69 |
| 100G | rndwr | 64 | 423.34Mb | 27094.03 | 16.21 | 109.98 |
mdadm --create --verbose /dev/md0 --level=10 --layout=n2 --raid-devices=4 --chunk=64 /dev/fioa /dev/fiob /dev/fioc /dev/fiod
mkfs.xfs -f /dev/md0
| size | type | thr | bytes/sec | req/sec | 95pct | max |
| 100G | rndrd | 1 | 173.57Mb | 11108.25 | 0.11 | 256.93 |
| 100G | rndrd | 4 | 640.85Mb | 41014.46 | 0.12 | 119.81 |
| 100G | rndrd | 8 | 1.0843Gb | 71061.17 | 0.15 | 106.33 |
| 100G | rndrd | 16 | 1.4917Gb | 97760.45 | 0.27 | 42.36 |
| 100G | rndrd | 32 | 1.6981Gb | 111285.46 | 0.57 | 26.50 |
| 100G | rndrd | 64 | 1.885Gb | 123534.24 | 0.83 | 45.57 |
| size | type | thr | bytes/sec | req/sec | 95pct | max |
| 100G | rndwr | 1 | 134.15Mb | 8585.83 | 0.11 | 290.79 |
| 100G | rndwr | 4 | 225.22Mb | 14413.91 | 0.14 | 69.00 |
| 100G | rndwr | 8 | 187.3Mb | 11987.40 | 1.16 | 57.80 |
| 100G | rndwr | 16 | 168.78Mb | 10801.72 | 11.55 | 70.19 |
| 100G | rndwr | 32 | 197.21Mb | 12621.57 | 18.92 | 83.13 |
| 100G | rndwr | 64 | 242.65Mb | 15529.68 | 20.74 | 142.24 |
| size | type | thr | bytes/sec | req/sec | 95pct | max |
| 100G | rndrd | 1 | 176.46Mb | 11293.28 | 0.08 | 222.76 |
| 100G | rndrd | 4 | 645.22Mb | 41294.31 | 0.12 | 116.19 |
| 100G | rndrd | 8 | 1.0867Gb | 71219.21 | 0.15 | 118.28 |
| 100G | rndrd | 16 | 1.5097Gb | 98940.11 | 0.27 | 32.38 |
| 100G | rndrd | 32 | 1.7277Gb | 113224.79 | 0.56 | 34.78 |
| 100G | rndrd | 64 | 1.9213Gb | 125914.92 | 0.77 | 30.31 |
| size | type | thr | bytes/sec | req/sec | 95pct | max |
| 100G | rndwr | 1 | 148.82Mb | 9524.49 | 0.08 | 215.28 |
| 100G | rndwr | 4 | 297.67Mb | 19050.57 | 0.10 | 48.78 |
| 100G | rndwr | 8 | 317.95Mb | 20348.75 | 0.15 | 48.64 |
| 100G | rndwr | 16 | 384.29Mb | 24594.83 | 1.46 | 67.97 |
| 100G | rndwr | 32 | 440.79Mb | 28210.65 | 10.55 | 80.42 |
| 100G | rndwr | 64 | 462.8Mb | 29619.32 | 15.81 | 122.75 |
#!/bin/sh
set -u
set -x
set -e
for size in 100G; do
for mode in rndrd rndwr; do
#for mode in rndwr; do
#for blksize in 512 4096 8192 16384 32768 65536 ; do
for blksize in 16384 ; do
sysbench --test=fileio --file-num=64 --file-total-size=$size prepare
#for threads in 1 4 8; do
for threads in 1 4 8 16 ; do
echo "====== testing $blksize in $threads threads"
echo PARAMS $size $mode $threads $blksize > sysbench-size-$size-mode-$mode-threads-$threads-blksz-$blksize
sysbench --test=fileio --file-total-size=$size --file-test-mode=$mode\
--max-time=120 --max-requests=100000000 --num-threads=$threads --init-rng=on \
--file-num=64 --file-extra-flags=direct --file-fsync-freq=0 --file-block-size=$blksize run \
| tee -a sysbench-size-$size-mode-$mode-threads-$threads-blksz-$blksize 2>&1
done
sysbench --test=fileio --file-total-size=$size cleanup
done
done
done