Я установил 8 дисков по 500 ГБ в raid0 на оптимизированном для EBS экземпляре EC2 и запустил iops.py, чтобы проверить скорость, но это кажется очень медленным. Кто-нибудь знает, нормальные ли это скорости для raid0? Я бы подумал, что более или менее постоянно получаю более 1000 операций ввода-вывода в секунду?
Вот статистика:
python python/iops.py --num_threads 16 --time 2 /dev/md0
/dev/md0, 4.29 TB, 32 threads:
512 B blocks: 831.6 IO/s, 415.8 KiB/s ( 3.4 Mbit/s)
1 KiB blocks: 290.8 IO/s, 290.8 KiB/s ( 2.4 Mbit/s)
2 KiB blocks: 543.7 IO/s, 1.1 MiB/s ( 8.9 Mbit/s)
4 KiB blocks: 581.5 IO/s, 2.3 MiB/s ( 19.1 Mbit/s)
8 KiB blocks: 275.5 IO/s, 2.2 MiB/s ( 18.1 Mbit/s)
16 KiB blocks: 486.8 IO/s, 7.6 MiB/s ( 63.8 Mbit/s)
32 KiB blocks: 415.3 IO/s, 13.0 MiB/s (108.9 Mbit/s)
64 KiB blocks: 277.8 IO/s, 17.4 MiB/s (145.6 Mbit/s)
128 KiB blocks: 205.3 IO/s, 25.7 MiB/s (215.3 Mbit/s)
256 KiB blocks: 116.4 IO/s, 29.1 MiB/s (244.2 Mbit/s)
512 KiB blocks: 114.1 IO/s, 57.0 MiB/s (478.5 Mbit/s)
1 MiB blocks: 60.4 IO/s, 60.4 MiB/s (506.8 Mbit/s)
2 MiB blocks: 28.5 IO/s, 57.1 MiB/s (478.9 Mbit/s)
cat /proc/mdstat
Personalities : [raid0]
md0 : active raid0 xvde[0] xvdf[7] xvdg[6] xvdh[5] xvdi[4] xvdb[3] xvdc[2] xvdd[1]
4194295808 blocks super 1.2 512k chunks
unused devices: <none>
mdadm --detail /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Mon Jul 29 08:23:38 2013
Raid Level : raid0
Array Size : 4194295808 (3999.99 GiB 4294.96 GB)
Raid Devices : 8
Total Devices : 8
Persistence : Superblock is persistent
Update Time : Mon Jul 29 08:23:38 2013
State : clean
Active Devices : 8
Working Devices : 8
Failed Devices : 0
Spare Devices : 0
Chunk Size : 512K
Name : hostname
UUID : 7df463c3:5de17a1b:cfe3345c:8e8c22ac
Events : 0
Number Major Minor RaidDevice State
0 202 64 0 active sync /dev/xvde
1 202 48 1 active sync /dev/xvdd
2 202 32 2 active sync /dev/xvdc
3 202 16 3 active sync /dev/xvdb
4 202 128 4 active sync /dev/xvdi
5 202 112 5 active sync /dev/xvdh
6 202 96 6 active sync /dev/xvdg
7 202 80 7 active sync /dev/xvdf
Платите ли вы за выделенные IOPS? В противном случае вы получите в среднем около 100 операций ввода-вывода в секунду на EBS, что соответствует тому, что вы видите при 8 связанных томах EBS.
Из здесь :
Стандартные тома предлагают хранилище для приложений с умеренными или частыми требованиями к вводу-выводу. Стандартные тома обеспечивают в среднем около 100 операций ввода-вывода в секунду с максимальной возможностью увеличения до сотен операций ввода-вывода в секунду. Стандартные тома также хорошо подходят для использования в качестве загрузочных томов, где возможность пакетной передачи обеспечивает быстрое время запуска экземпляра.
На самом деле вы не даете нам достаточно информации, чтобы уйти. Если исключить какой-либо штраф за запись из уравнения, если мы предположим, что вы используете стандартные диски Sata со скоростью 7200 об / мин, тогда ваши IOPS будут следующими:
1/(12ms seek time (.012)+ 5.5ms latency (.0055))= 57.14 IOPS
Итак, мы будем использовать следующее, чтобы определить IOPS массива:
8 (numdisks)* 57.14 (MaxIOofSingleDisk)=457 max read IO for the array.
Итак, это получается вплоть до того, какую скорость / тип дисков вы используете? Тогда узнайте среднюю запросите время и задержку у производителя и используйте указанные выше значения, чтобы узнать, соответствует ли IOPS ожидаемым (опять же, штраф за запись и накладные расходы должны быть учтены для ввода-вывода записи).
Это может быть сложнее, поскольку вы находитесь не в физической среде но я уверен, что кто-то может дать вам представление о дисках, используемых в пулах EC2.