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

в 12:08, , рубрики: Amazon Web Services, AWS, ebs, storage, Блог компании EPAM Systems, метки: , , ,

Привет! 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 -Raz -b /mnt/lab.wks -g 1G

Вот лог общей операции.

В принципе, все тесты подтверждают, что производительность диска вдвое больше, чем в моих предыдущих тестах.

Удачного дня!

PS. Забыл отметить, что этот инстанс с этим диском в европейском регионе будет стоить ~$910 в месяц.

Автор: korjik

Источник

Поделиться

* - обязательные к заполнению поля