Тестируем производительность сервера

Ранее в статье Бенчмарк веб сервера я рассказывал, как протестировать производительность сервера. В принципе тест достаточно годный, но по сути своей им хорошо тестировать связку сервера и установленой на нем CMS с конкретным набором данных, хотя ничто не мешает залить для теста и голый html… Тем не менее один минус данного теста — необходимо два сервера. Один тестирующий и один тестируемый. Что делать, если у нас пока ничего нет, а хочется купить что-то быстрое, предварительно оценив характеристики. Читаем мою историю =)

Недавно я плотно начал интересоваться буржуйскими VPS серверами, как альтернативой нашим русским хостингам. Почему? Да потому что соотношение произовдительность/цена там на порядок выше. Особенно если заморочиться и поискать вариант повкуснее =)

Так вот, бродя по ихним форумам, я заметил, что очень уж любят америкосы долюбливаться к производительности сети. А чтобы узнать эту производительность есть ряд не хитрых тестов.

Строго говоря, протестировать таким образом можно любой сервер, не только VPS, но и Dedic и может быть даже Shared, хотя с последним не везде и прокатит. В общем приступим.

Для начала протестируем производительность узла. Тоесть внутреннюю скорость. Данный тест создает файл размером 1 гигабайт на винчестере и показывает скорость данной операции

dd if=/dev/zero of=test bs=64k count=16k conv=fdatasync; unlink test

Чтобы было интереснее, привожу результаты реальных тестов.

Участники тестов:

  • FirstVDS (Россия) — сервер в Москве
  • CrownCloud (США) — сервер во Франкфурте, Германия
  • GreenValueHost (США) — сервер в Лос-Анджелесе в датацентре QuadraNet. Американцы почему не любят другой датацент — ColoCrossing. Хотя я тестил такой же сервер в нем и результаты были ни чуть не хуже, а местами и лучше
  • GreenValueHost (США) — сервер в Чикаго
  • GreenValueHost (США) — сервер в Амстердаме

FirstVDS показывает достаточно разные результаты даже в течении нескольких минут в ночное время по Москве. Видимо нода не хило загружена

CrownCloud показывает более ровные результаты, несотря на то, что в Лос-Анжелисе сейчас пол втрого дня. Тоесть самая жара :-)

GreenValueHost LA так же на высоте

И GreenValueHost Chicago

Можно немного усложнить тест, не просто копирую нули, а сначала генерируя случайные числа

dd if=/dev/urandom of=test bs=64k count=16k conv=fdatasync; unlink test

Еще одна команда копирует 10 ГБ нулей в никуда

dd if=/dev/zero of=/dev/null bs=100M count=100

Думаю ей можно измерить производительность оперативной памяти, ну или хотя бы кеша процессора

  1. FirstVDS опять что то разное:
  2.  
  3. [root@~]# dd if=/dev/zero of=/dev/null bs=100M count=100
  4. 100+0 records in
  5. 100+0 records out
  6. 10485760000 bytes (10 GB) copied, 2.76738 s, 3.8 GB/s
  7. [root@~]# dd if=/dev/zero of=/dev/null bs=100M count=100
  8. 100+0 records in
  9. 100+0 records out
  10. 10485760000 bytes (10 GB) copied, 1.9029 s, 5.5 GB/s
  11.  
  12. CrownCloud невероятно стабилен:
  13.  
  14. [root@~]# dd if=/dev/zero of=/dev/null bs=100M count=100
  15. 100+0 records in
  16. 100+0 records out
  17. 10485760000 bytes (10 GB) copied, 1.16581 s, 9.0 GB/s
  18.  
  19. GreenValueHost LA опять стабилен:
  20.  
  21. [root@~]# dd if=/dev/zero of=/dev/null bs=100M count=100
  22. 100+0 records in
  23. 100+0 records out
  24. 10485760000 bytes (10 GB) copied, 1.08104 s, 9.7 GB/s
  25.  
  26. GreenValueHost Ch слегка медленее
  27.  
  28. [root@~]# dd if=/dev/zero of=/dev/null bs=100M count=100
  29. 100+0 records in
  30. 100+0 records out
  31. 10485760000 bytes (10 GB) copied, 1.1588 s, 9.0 GB/s<br /><br />GreenValueHost NL<br />[root@~]# dd if=/dev/zero of=/dev/null bs=100M count=100
  32. 100+0 records in
  33. 100+0 records out
  34. 10485760000 bytes (10 GB) copied, 1.03424 s, 10.1 GB/s

Еще один тестик просто создает 1 гигабайт нулей и подсчитывает на лету сумму MD5 получившегося файла. Так мы можем оценить производительность процессора используя стандартные команды Linux «из коробки»

dd if=/dev/zero bs=1M count=1024 | md5sum

Тут конечно многое зависит от процессора, но все же вот результаты

  1. FirstVDS не очень стабилен, но вот лучший результат из трех:
  2.  
  3. [root@~]# dd if=/dev/zero bs=1M count=1024 | md5sum
  4. 1024+0 records in
  5. 1024+0 records out
  6. 1073741824 bytes (1.1 GB) copied, 2.93579 s, 366 MB/s
  7. cd573cfaace07e7949bc0c46028904ff  -
  8.  
  9. CrownCloud ооочень стабилен:
  10.  
  11. [root@~]# dd if=/dev/zero bs=1M count=1024 | md5sum
  12. 1024+0 records in
  13. 1024+0 records out
  14. 1073741824 bytes (1.1 GB) copied, 1.6478 s, 652 MB/s
  15. cd573cfaace07e7949bc0c46028904ff  -
  16.  
  17. GreenValueHost LA так же очень стабилен и быстр:
  18.  
  19. [root@~]# dd if=/dev/zero bs=1M count=1024 | md5sum
  20. 1024+0 records in
  21. 1024+0 records out
  22. 1073741824 bytes (1.1 GB) copied, 1.83374 s, 586 MB/s
  23. cd573cfaace07e7949bc0c46028904ff  -
  24.  
  25. GreenValueHost Ch примерно на таком же уровне
  26.  
  27. [root@~]# dd if=/dev/zero bs=1M count=1024 | md5sum
  28. 1024+0 records in
  29. 1024+0 records out
  30. 1073741824 bytes (1.1 GB) copied, 1.84899 s, 581 MB/s
  31. cd573cfaace07e7949bc0c46028904ff  -<br /><br />GreenValueHost NL<br /><br />[root@amiweb ~]# dd if=/dev/zero bs=1M count=1024 | md5sum
  32. 1024+0 records in
  33. 1024+0 records out
  34. 1073741824 bytes (1.1 GB) copied, 1.80798 s, 594 MB/s
  35. cd573cfaace07e7949bc0c46028904ff  -

Теперь померяем производительность сети.

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

Скрипт теста находится на американском сервере, просто скачивается оттуда и выполняется

wget freevps.us/downloads/bench.sh -O - -o /dev/null|bash

FirstVDS тестировал один раз, потому что ждать сутки, пока завершится тест у меня нет желания :-) Всё запредельно медленно. И нужно добавить, что при закачке через FTP эта проблема была у меня не раз. Похоже она глобальная для этого хостера

CrownCloud — достаточно шустро. Честно отрабатывает свои 100 мегабит

И наконец GreenValueHost LA — без комментариев. Это просто самолёт. Гигабитная линия даёт о себе знать

GreenValueHost Chicago схож со своим братом из LA, просто немного другой :-)

И в заключении, наверняка вам интересно, сколько же стоит их хостинг в сравнении с нашим. Отвечу по всем пунктам:

  • FirstVDS — 149 рублей в месяц за 512 мегабайт оперативной памяти и 30 Гб диск
  • CrownCloud — 90 рублей в месяц за 3 гигабайта оперативной памяти + 3 гигабайта vSwap и 50 Гб диск
  • GreenValueHost LA — 120 рублей за месяц за 2 гигабайта оперативной памяти + 4 гигабайта vSwap и 175 Гб диск
  • GreenValueHost Chicago — 90 рублей в месяц за 2 гигабайта оперативной памяти + 4 гигабайта vSwap и 150 Гб диск

Делайте выводы сами :-)

Заметки:

посмотреть конфигурацию сервера

  1. grep -m 4 -e "model name" -e "MHz" -e "cache size" -e "bogomips" /proc/cpuinfo
  2. grep "processor" /proc/cpuinfo | wc -l
  3. lscpu
Теги: