Описанный в данной заметке тест с использованием dd
не является супер-точным. Однако, в большинстве случаев он позволяет быстро подручными средствами оценить ситуацию. Часто этого достаточно.
dd
(dataset definition) — программа UNIX, предназначенная как для копирования, так и для конвертации файлов. Подробнее про неё можно почитать в википедии. Возможности её весьма широки, в том числе существует способ протестировать производительность диска.
Проверка скорости записи:
sync; dd if=/dev/zero of=tempfile bs=1M count=1024; sync
Проверка скорости чтения:
dd if=tempfile of=/dev/null bs=1M count=1024
Вот результаты, полученные на веб-сервере с SSD-диском:
user@web:~# sync; dd if=/dev/zero of=tempfile bs=1M count=1024; sync
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 2.89377 s, 371 MB/s
user@web:~# dd if=tempfile of=/dev/null bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 1.82079 s, 590 MB/s
Неплохо? Для примера ещё пара результатов, с других веб-серверов:
user1@web01:~$ sync; dd if=/dev/zero of=tempfile bs=1M count=1024; sync
1024+0 записей считано
1024+0 записей написано
скопировано 1073741824 байта (1,1 GB), 4,4858 c, 239 MB/c
user1@web01:~$ dd if=tempfile of=/dev/null bs=1M count=1024
1024+0 записей считано
1024+0 записей написано
скопировано 1073741824 байта (1,1 GB), 12,5352 c, 85,7 MB/c
root@web1a:~# sync; dd if=/dev/zero of=tempfile bs=1M count=1024; sync
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 19.0033 s, 56.5 MB/s
dd if=tempfile of=/dev/null bs=1M count=1024
root@web1a:~# dd if=tempfile of=/dev/null bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 58.2082 s, 18.4 MB/s
Из этих примеров видно, что скорость записи вполне может получаться выше скорости чтения. Может быть это кэширование или какие-то другие особенности серверного оборудования.
Последний результат — это тот же хостинг, но только это старый сервер с обычным диском. Очевидно, что диск у него очень тормозной, но сервер исправно работает уже третий год и выполняет свои задачи, а как говорится «работает — не трожь!» Все протестированные веб-сервера работают на Debian 6-7.