Сравнение производительности тарифов

Мы провели тестирование VDS с целью сравнения производительности серверов на разных тарифных планах. Данное исследование должно помочь нашим клиентам выбрать оптимальный тарифный план для своих сайтов и веб-приложений.

Внимание! Тестирование, описанное в статье, проводилось на старых конфигурациях виртуальных серверов. Наша новая линейка VDS-серверов значительно быстрее и надежнее. Убедитесь сами.

Для тестирования применялись утилиты sysbench и ab, производилось измерение производительности сервера баз данных MySQL и веб-сервера Apache. Для Apache исследовалось время обработки статического html и работы с php (php в режиме работы как модуль Apache).

Максимальное количество запросов в секунду, которые смог обработать MySQL-сервер и веб-сервер Apache при обработке статического html-файла и php-скрипта на разных тарифных планах, приведены в таблице:

 СтартРазгонОтрывУлет
MySQL963113917042128
simple.html56197313361445
simple.php137173250314
Сравнение производительности тарифов FirstVDS
Зависимость производительности от тарифа

Утилита sysbench производит запросы на чтение (select) и вставку (insert) строки данных в таблицу. Содержимое simple.html и simple.php, которые вызывались при помощи ab, приведены ниже

Содержание тестовой html-страницы

В следующей таблице приведена зависимость производительности сервера от частоты процессора (количество оперативной памяти: 96 мегабайт). Дополнительно был проведен тест web-сервера nginx. Сервер nginx — это высокопроизводительный web-сервер, предназначенный для раздачи статического контента, существует также возможность его совместной работы с сервером Apache.

 300Mhz400Mhz500Mhz600Mhz700Mhz
MySQL754983156818802516
simple.html403,06663,57899,281116,071388,89
simple.php126,92188,36309,5202398,25
Nginx. Обработка simple.html11821818203625062777
Производительность процессоров

Итак, вам необходимо определить, какой выбрать тарифный план для вашего сервера.

Предположим, ваш сайт использует php-скрипт, который осуществляет 20 запросов к базе данных, загружает 10 статических картинок. Страница генерируется за 2 сек, одновременно на страницу могут зайти 10 пользователей. Возьмем тарифный план VDS-Старт (из первой таблицы):

  • Запрос MySQL выполняется за 1 / 963 = 0,00103 сек
  • Запрос к веб-серверу выполняется за 1 / 561 = 0,00178 сек
  • Обработка PHP-скрипта занимает 1 / 137 = 0,00729 сек

Время выполнения можно подсчитать просуммировав затраты времени сервисами MySQL и Apache:

0,00729 + (20 × 0,00178) + (15 × 0,00103) = 0,05834 секунд

Аналогично для тарифного плана VDS-Улет:

  • Запрос MySQL выполняется за 1 / 2128 = 0.00046
  • Запрос к веб-серверу выполняется за 1 / 1445 = 0.00069
  • Обработка PHP-скрипта занимает 1 / 314 = 0.00318
0.00318 + (20 × 0.00069) + (15 × 0.00103) = 0.03243 секунд

Конечно, данные числа применимы только к идеальным условиям. Например, должно пройти какое-то время, пока установится tcp-соединение с сервером, пока браузер сформирует запрос и обработает ответ. Однако можно, зная реальную скорость работы приложения на VDS-Старт, вычислить его производительность (во сколько раз будет быстрее работать) на других тарифных планах при увеличении частоты процессора.

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