AWS: Новые скорости EBS и тесты производительности

от автора

Привет! image

В конце прошлого года я провёл небольшой тест производительности дисков на Амазоне и написал по этому поводу статью. Совсем недавно Amazon Web Services анонсировали новые возможности в EBS с гарантированным количеством IOPS — 4000. Я решил написать не просто новость, а продолжить тесты с этими дисками и рассказать об этом сообществу.
image

Для тестов я выбрал тип инстанса 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

# 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

# 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

# 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/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *