Для клиентов:
Как выбрать оптимальный тарифный план?
Нами было проведено тестирование VDS с целью сравнения производительности серверов на разных тарифных планах. Данное исследование должно помочь нашим клиентам выбрать оптимальный тарифный план для своих сайтов и веб-приложений.
Для тестирования применялись утилиты sysbench и ab, производилось измерение производительности сервера баз данных MySQL и веб-сервера Apache. Для apache исследовалось время обработки статического html и работы с php (php в режиме работы как модуль apache).
Максимальное количество запросов в секунду, которые смог обработать MySQL-сервер и веб-сервер apache при обработке статического html-файла и php-скрипта на разных тарифных планах, приведены в таблице 1:
Таблица 1. Производительность VDS на различных тарифных планах
| Старт | Разгон | Отрыв | Улет | |
|---|---|---|---|---|
| MySQL | 963 | 1139 | 1704 | 2128 |
| simple.html | 561 | 973 | 1336 | 1445 |
| simple.php | 137 | 173 | 250 | 314 |
Утилита sysbench производит запросы на чтение (select) и вставку (insert) строки данных в таблицу, содержимое simple.html и simple.php, которые вызывались при помощи ab, приведены ниже
В таблице 2 приведена зависимость производительности сервера от частоты процессора, был проведен также тест web-сервера nginx. Сервер nginx - это высокопроизводительный web-сервер, предназначенный для раздачи статического контента, существует также возможность его совместной работы с сервером apache.
Таблица 2. Зависимость производительности от скорости процессора. Количество оперативной памяти 96 мегабайт.
| Скорость процессора | 300Mhz | 400Mhz | 500Mhz | 600Mhz | 700Mhz |
|---|---|---|---|---|---|
| MySQL | 754 | 983 | 1568 | 1880 | 2516 |
| simple.html | 403,06 | 663,57 | 899,28 | 1116,07 | 1388,89 |
| simple.php | 126,92 | 188,36 | 309,5 | 202 | 398,25 |
| Nginx. Обработка simple.html | 1182 | 1818 | 2036 | 2506 | 2777 |

Итак, вам необходимо определить, какой выбрать тарифный план для вашего сервера.
Предположим, у вас сайт использует php, скрипт осуществляет 20 запросов к базе данных, загружает 10 статических картинок, страница генерируется за 2 сек и одновременно на страницу могут зайти 10 пользователей
Для подсчета среднего времени создания ответа от сервера можно воспользоваться следующей формулой
Возьмем тарифный план VDS-Старт (согласно таблице 1)
Запрос MySQL выполняется за 1/963 = 0,00103 сек.
Запрос к веб-серверу выполняется за 1/561=0,00178 сек.
Обработка PHP-скрипта занимает 1/137=0,00729 сек.
Предположим, ваша страничка написана на php и подгружает 20 статических картинок, при этом производя 15 SQL-запросов.
Время выполнения можно подчитать суммировав затраты времени сервисами 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-Разгон или другом тарифе.
