В конце прошлого года я провёл небольшой тест производительности дисков на Амазоне и написал по этому поводу статью. Совсем недавно Amazon Web Services анонсировали новые возможности в EBS с гарантированным количеством IOPS — 4000. Я решил написать не просто новость, а продолжить тесты с этими дисками и рассказать об этом сообществу.
Для тестов я выбрал тип инстанса m1.xlarge с EBS оптимизацией. С приаттаченым 400 гигабайтным диском с 4000 гарантированных IOPS.
Как и в прошлый раз я провёл тесты:
# hdparm -tT /dev/xcdX
# dd if=/dev/zero of=tempfile bs=5M count=1024 conv=fdatasync,notrunc # echo 3 > /proc/sys/vm/drop_caches # dd if=tempfile of=/dev/null bs=5M count=1024
# sysbench --num-threads=16 --test=fileio --file-total-size=5G --file-test-mode=rndrw prepare # sysbench --num-threads=16 --test=fileio --file-total-size=5G --file-test-mode=rndrw run
Вот их результаты:
# hdparm -tT /dev/xvdf /dev/xvdf: Timing cached reads: 11776 MB in 1.99 seconds = 5931.57 MB/sec Timing buffered disk reads: 170 MB in 3.02 seconds = 56.22 MB/sec /dev/xvdf: Timing cached reads: 11804 MB in 1.98 seconds = 5947.40 MB/sec Timing buffered disk reads: 170 MB in 3.01 seconds = 56.53 MB/sec /dev/xvdf: Timing cached reads: 11750 MB in 1.99 seconds = 5918.83 MB/sec Timing buffered disk reads: 170 MB in 3.02 seconds = 56.24 MB/sec
# dd if=/dev/zero of=tempfile bs=5M count=1024 conv=fdatasync,notrunc 1024+0 records in 1024+0 records out 5368709120 bytes (5.4 GB) copied, 114.568 s, 46.9 MB/s # echo 3 > /proc/sys/vm/drop_caches # dd if=tempfile of=/dev/null bs=5M count=1024 1024+0 records in 1024+0 records out 5368709120 bytes (5.4 GB) copied, 99.2359 s, 54.1 MB/s
# sysbench --num-threads=16 --test=fileio --file-total-size=5G --file-test-mode=rndrw prepare sysbench 0.5: multi-threaded system evaluation benchmark 128 files, 40960Kb each, 5120Mb total Creating files for the test... Extra file open flags: 0 Creating file test_file.0 Creating file test_file.1 Creating file test_file.2 Creating file test_file.3 Creating file test_file.4 Creating file test_file.5 Creating file test_file.6 Creating file test_file.7 Creating file test_file.8 Creating file test_file.9 Creating file test_file.10 Creating file test_file.11 Creating file test_file.12 Creating file test_file.13 Creating file test_file.14 Creating file test_file.15 Creating file test_file.16 Creating file test_file.17 Creating file test_file.18 Creating file test_file.19 Creating file test_file.20 Creating file test_file.21 Creating file test_file.22 Creating file test_file.23 Creating file test_file.24 Creating file test_file.25 Creating file test_file.26 Creating file test_file.27 Creating file test_file.28 Creating file test_file.29 Creating file test_file.30 Creating file test_file.31 Creating file test_file.32 Creating file test_file.33 Creating file test_file.34 Creating file test_file.35 Creating file test_file.36 Creating file test_file.37 Creating file test_file.38 Creating file test_file.39 Creating file test_file.40 Creating file test_file.41 Creating file test_file.42 Creating file test_file.43 Creating file test_file.44 Creating file test_file.45 Creating file test_file.46 Creating file test_file.47 Creating file test_file.48 Creating file test_file.49 Creating file test_file.50 Creating file test_file.51 Creating file test_file.52 Creating file test_file.53 Creating file test_file.54 Creating file test_file.55 Creating file test_file.56 Creating file test_file.57 Creating file test_file.58 Creating file test_file.59 Creating file test_file.60 Creating file test_file.61 Creating file test_file.62 Creating file test_file.63 Creating file test_file.64 Creating file test_file.65 Creating file test_file.66 Creating file test_file.67 Creating file test_file.68 Creating file test_file.69 Creating file test_file.70 Creating file test_file.71 Creating file test_file.72 Creating file test_file.73 Creating file test_file.74 Creating file test_file.75 Creating file test_file.76 Creating file test_file.77 Creating file test_file.78 Creating file test_file.79 Creating file test_file.80 Creating file test_file.81 Creating file test_file.82 Creating file test_file.83 Creating file test_file.84 Creating file test_file.85 Creating file test_file.86 Creating file test_file.87 Creating file test_file.88 Creating file test_file.89 Creating file test_file.90 Creating file test_file.91 Creating file test_file.92 Creating file test_file.93 Creating file test_file.94 Creating file test_file.95 Creating file test_file.96 Creating file test_file.97 Creating file test_file.98 Creating file test_file.99 Creating file test_file.100 Creating file test_file.101 Creating file test_file.102 Creating file test_file.103 Creating file test_file.104 Creating file test_file.105 Creating file test_file.106 Creating file test_file.107 Creating file test_file.108 Creating file test_file.109 Creating file test_file.110 Creating file test_file.111 Creating file test_file.112 Creating file test_file.113 Creating file test_file.114 Creating file test_file.115 Creating file test_file.116 Creating file test_file.117 Creating file test_file.118 Creating file test_file.119 Creating file test_file.120 Creating file test_file.121 Creating file test_file.122 Creating file test_file.123 Creating file test_file.124 Creating file test_file.125 Creating file test_file.126 Creating file test_file.127 5368709120 bytes written in 116.27 seconds (44.03 MB/sec). # sysbench --num-threads=16 --test=fileio --file-total-size=5G --file-test-mode=rndrw run sysbench 0.5: multi-threaded system evaluation benchmark Running the test with following options: Number of threads: 16 Random number generator seed is 0 and will be ignored Extra file open flags: 0 128 files, 40Mb each 5Gb total file size Block size 16Kb Number of IO requests: 10000 Read/Write ratio for combined random IO test: 1.50 Periodic FSYNC enabled, calling fsync() each 100 requests. Calling fsync() at the end of test, Enabled. Using synchronous I/O mode Doing random r/w test Threads started! Operations performed: 6000 reads, 4000 writes, 12800 Other = 22800 Total Read 93.75Mb Written 62.5Mb Total transferred 156.25Mb (139.79Mb/sec) 8946.77 Requests/sec executed General statistics: total time: 1.1177s total number of events: 10000 total time taken by event execution: 1.3737s response time: min: 0.01ms avg: 0.14ms max: 19.73ms approx. 95 percentile: 0.52ms Threads fairness: events (avg/stddev): 625.0000/128.81 execution time (avg/stddev): 0.0859/0.01
Далее по совету из комментариев qxfusion, я провёл тесты iozone. За инструкцию взята эта статья.
Тест был проведён командой:
# iozone -R -l 5 -u 10 -r 4k -s 1024m -F /mnt/f1 /mnt/f2 /mnt/f3 /mnt/f4 /mnt/f5 /mnt/f6 /mnt/f7 /mnt/f8 /mnt/f9 /mnt/f10
Вот лог общей операции.
В принципе, все тесты подтверждают, что производительность диска вдвое больше, чем в моих предыдущих тестах.
Удачного дня!
ссылка на оригинал статьи http://habrahabr.ru/company/epam_systems/blog/179259/
Добавить комментарий