Сам я уже давно не пользуюсь услугами отечественных хостинг-провайдеров и для собственных нужд арендую сервер в Германии. И одним замечательным утром я решил проверить насколько качественны те услуги, которые нам предлагают российские хостинг-провайдеры и для этого было решено отобрать несколько отечественных VPS, установить на них необходимое ПО, тестовый сайт и провести масштабное нагрузочное тестирование.
Для тестирования были рандомным способом отобраны 7 отечественных хостинг-провайдеров, предоставляющие услуги тестового периода для VPS (VDS), чем я не мог не воспользоваться в своих благих целях. Стоимость VPS варьируется от 500 до 700 рублей и относятся к бюджетному сегменту. Итак, наши претенденты:
Метод тестирования прост — с удаленного сервера отправляем тонны запросов на WEB сервер и смотрим, как ведет себя VPS. Можно сказать, что это небольшой DDos.
В качестве атакующего я использовал свой арендованный сервер в Германии в следующей конфигурации:
На всех тестируемых VPS установлена ОС – Debian 7 x64. В тех случаях, где хостер не поддерживает данную ОС используется другая ОС, о чем указано выше в описании претендентов.
Основное установленное ПО на VPS (Debian 7):
Основное установленное ПО на VPS (Debian6):
Чтобы получить максимально точные результаты всем VPS были созданы идентичные условия: все ПО я устанавливал самостоятельно. WEB сервера работают на голом Апаче (NGINX и прочие приятности не устанавливались), все конфиги по дефолту. На все VPS была установлена Joomla 3.1.5 с демо данными блога. В качестве ПО для самого теста использовался Apache Benchmark версии 2.3.
Для каждого VPS тестирование проводилось в 3 этапа:
Количество потоков можно приравнять к посетителям сайта, а количество запросов к запросам от этих посетителей к WEB серверу VPS.
Например, первый этап можно представить, как 30 пользователей на сайте одновременно и в общей сложности сделали 500 запросов WEB серверу.
Каждый этап прогонялся 3 раза и в качестве результирующих использовались средние значения из результатов теста.
В таблице учитывались основные, на мой взгляд, параметры:
В тесте не дается оценка таким характеристикам, как дисковая подсистема, объем внешнего канала, стоимость и качество доп.услуг.
Первый раунд: 30 поток и 500 запросов.
И в первом же тесте VPS от 1gb.ru не смог обработать даже 100 запросов. С чем это связано сказать сложно, у меня не было цели разбираться о причинах столь фатального выступления данного претендента, поэтому идем дальше.
Следующий претендент от Timeweb показал себя намного лучше и без особых усилий справился с задачей, обработав все отправленные на его WEB сервер запросы:
Далее «атаке» подвергся VPS от Agava, который также успешно справился со своей задачей:
Следующий претендент – infobox:
Следом в деле себя показал хостинг от It-mcp:
Предпоследний кандидат – Fozzy:
И завершает первый этап тестирования VDS24.net:
Подведем первый промежуточный итог:
Все VPS, кроме 1gb, справились с заданием, поэтому 1gb выбывает из дальнейших тестов. Лидером по скорости, после первого этапа, является VDS24, на втором месте VPS от Agava. Переходим к раунду 2.
Второй раунд: 50 потоков и 1000 запросов.
Timeweb:
Во втором раунде Timeweb не смог справиться с задачей и смог обработать только чуть больше половины запросов.
Agava:
Infobox:
It-mcp:
Fozzy:
VDS24:
По результатам второго этапа тестирования по-прежнему с небольшим отрывом лидирует VDS24, ему в спину дышит Agava. В хвосте списка плетется It-mcp.
Третий раунд: 100 потоков и 10000 запросов.
Timeweb:
В третьем раунде у Timeweb при всех 3 попытках намертво падал MySQL и Apache выдавал невеселое сообщение: Error displaying the error page: Application Instantiation Error. Тестируемый сайт оживал только после рестрата MySQL. На третьем этапе VPS от Timeweb пополняет ряды отстающих, вкупе с 1gb.
Agava:
Infobox:
It-mcp:
Fozzy:
VDS24:
Мы подошли к нашему лидеру первых двух этапов. И тут нас постигает разочарование. VDS24 при всех трех попытках намертво зависал, сумев обработать лишь чуть более 2000 запросов.
На этом третий этап тестирования завершен.
Победителем нашего тестирования, продемонстрировавшим весьма неплохую скорость работы и отказоустойчивость, объявлен VPS от Agava.
Аутсайдером нашего теста, конечно же, стал VPS от 1gb, который смог справиться лишь с 10 потоками и 50 запросами.
Итоговая таблица выглядит так:
Для эксперимента была сделана попытка проверить возможности еще не выпавших из гонки VPS. Им в нагрузку было отправлено 300 потоков и 50 000 запросов. Скажу сразу, что никто с такой нагрузкой так и не справился.
Конечно мы смогли протестировать далеко не все VPS, которые есть на рынке, также скорость работы и отказоустойчивость можно значительно повысить грамотной настройкой VPS, но потенциал был хорошо прослежен в данном тесте. Как выяснилось далеко не всегда производительность упирается в мегагерцы и объемы ОЗУ.
Ознакомиться со сводной таблицей результатов тестирования можно здесь.
Для тестирования были рандомным способом отобраны 7 отечественных хостинг-провайдеров, предоставляющие услуги тестового периода для VPS (VDS), чем я не мог не воспользоваться в своих благих целях. Стоимость VPS варьируется от 500 до 700 рублей и относятся к бюджетному сегменту. Итак, наши претенденты:
Методология тестирования:
Метод тестирования прост — с удаленного сервера отправляем тонны запросов на WEB сервер и смотрим, как ведет себя VPS. Можно сказать, что это небольшой DDos.
В качестве атакующего я использовал свой арендованный сервер в Германии в следующей конфигурации:
- Intel i7 2600 Quad-Core + Hyper-Threading;
- 32 Гб ОЗУ;
- 1 Гбит канал.
На всех тестируемых VPS установлена ОС – Debian 7 x64. В тех случаях, где хостер не поддерживает данную ОС используется другая ОС, о чем указано выше в описании претендентов.
Основное установленное ПО на VPS (Debian 7):
- Apache 2.2.22;
- PHP 5.4;
- MySQL 5.5.
Основное установленное ПО на VPS (Debian6):
- Apache 2.2.16;
- PHP 5.3;
- MySQL 5.1.
Чтобы получить максимально точные результаты всем VPS были созданы идентичные условия: все ПО я устанавливал самостоятельно. WEB сервера работают на голом Апаче (NGINX и прочие приятности не устанавливались), все конфиги по дефолту. На все VPS была установлена Joomla 3.1.5 с демо данными блога. В качестве ПО для самого теста использовался Apache Benchmark версии 2.3.
Для каждого VPS тестирование проводилось в 3 этапа:
- Первый этап – 30 потоков и 500 запросов.
- Второй этап – 50 потоков и 1 000 запросов.
- Третий этап – 100 потоков и 10 000 запросов.
Количество потоков можно приравнять к посетителям сайта, а количество запросов к запросам от этих посетителей к WEB серверу VPS.
Например, первый этап можно представить, как 30 пользователей на сайте одновременно и в общей сложности сделали 500 запросов WEB серверу.
Каждый этап прогонялся 3 раза и в качестве результирующих использовались средние значения из результатов теста.
В таблице учитывались основные, на мой взгляд, параметры:
- Неудачные запросы (Failed requests) – количество запросов, которые VPS не смог обработать.
- Количество запросов в секунду (Requests per second) – тут все ясно из названия, чем больше запросов в секунду обрабатывает WEB сервер, тем выше его скорость работы.
- Время выполнения 1 запроса (...across all concurrent requests) – чем меньше данное значение, тем быстрее WEB сервер обрабатывает запросы и тем выше общая скорость работы.
- Время выполнения всех запросов (Time per request) – общее время на обработку всех отправленных на WEB сервер запросов. Чем меньше значение, тем лучше.
- Время соединения (Connection Times) – состоит из
a. Строка Connect: — время, которое потратила утилита на соединение с сервером.
b. Строка Processing: — время выполнения запроса.
c. Строка Waiting: — время простоя запроса. То есть время, которое запрос ждал своей очереди для выполнения.
d. Строка Total — Общее время.
В качестве результирующих данных я привожу итоговые значения строки Total. Первое значение указано минимальное, второе — максимальное. Параметр показывает, за какое время выполнился самый медленный и самый быстрый запрос. Чем меньше эти показатели, тем сервер быстрее обрабатывает запросы. - Общее время на тест (Time taken for tests) – зачастую совпадает с общим временем обработки всех запросов. Чем меньше значение, тем лучше.
В тесте не дается оценка таким характеристикам, как дисковая подсистема, объем внешнего канала, стоимость и качество доп.услуг.
Тестирование:
Первый раунд: 30 поток и 500 запросов.
И в первом же тесте VPS от 1gb.ru не смог обработать даже 100 запросов. С чем это связано сказать сложно, у меня не было цели разбираться о причинах столь фатального выступления данного претендента, поэтому идем дальше.
Следующий претендент от Timeweb показал себя намного лучше и без особых усилий справился с задачей, обработав все отправленные на его WEB сервер запросы:
Неудачные запросы | Кол-во запросов в сек. | Время выполнения 1 запроса | Время выполнения всех запросов | Время соединения | Общее время |
---|---|---|---|---|---|
0 | 6.2 | 161.3 мс. | 4758 мс. | 1616 — 8988 мс. | 79.6 сек. |
Далее «атаке» подвергся VPS от Agava, который также успешно справился со своей задачей:
Неудачные запросы | Кол-во запросов в сек. | Время выполнения 1 запроса | Время выполнения всех запросов | Время соединения | Общее время |
---|---|---|---|---|---|
0 | 10.1 | 99.1 мс. | 2981 мс. | 827 — 5373 мс. | 49.5 сек. |
Следующий претендент – infobox:
Неудачные запросы | Кол-во запросов в сек. | Время выполнения 1 запроса | Время выполнения всех запросов | Время соединения | Общее время |
---|---|---|---|---|---|
0 | 3.4 | 291.7 мс. | 8750 мс. | 1524 — 10142 мс. | 145.8 сек. |
Следом в деле себя показал хостинг от It-mcp:
Неудачные запросы | Кол-во запросов в сек. | Время выполнения 1 запроса | Время выполнения всех запросов | Время соединения | Общее время |
---|---|---|---|---|---|
0 | 2.3 | 436.4 мс. | 13091 мс. | 2662 — 15462 мс. | 218 сек. |
Предпоследний кандидат – Fozzy:
Неудачные запросы | Кол-во запросов в сек. | Время выполнения 1 запроса | Время выполнения всех запросов | Время соединения | Общее время |
---|---|---|---|---|---|
0 | 5.3 | 189.5 мс. | 5685 мс. | 1304 — 7210 мс. | 94.7сек. |
И завершает первый этап тестирования VDS24.net:
Неудачные запросы | Кол-во запросов в сек. | Время выполнения 1 запроса | Время выполнения всех запросов | Время соединения | Общее время |
---|---|---|---|---|---|
0 | 10.4 | 96.5 мс. | 2895 мс. | 919 — 4941 мс. | 48.3 сек. |
Подведем первый промежуточный итог:
Все VPS, кроме 1gb, справились с заданием, поэтому 1gb выбывает из дальнейших тестов. Лидером по скорости, после первого этапа, является VDS24, на втором месте VPS от Agava. Переходим к раунду 2.
Второй раунд: 50 потоков и 1000 запросов.
Timeweb:
Неудачные запросы | Кол-во запросов в сек. | Время выполнения 1 запроса | Время выполнения всех запросов | Время соединения | Общее время |
---|---|---|---|---|---|
449 | 4.6 | 218.4 мс. | 10919.5 мс. | 538 — 38114 мс. | 218.4 сек. |
Во втором раунде Timeweb не смог справиться с задачей и смог обработать только чуть больше половины запросов.
Agava:
Неудачные запросы | Кол-во запросов в сек. | Время выполнения 1 запроса | Время выполнения всех запросов | Время соединения | Общее время |
---|---|---|---|---|---|
0 | 7.6 | 131.5 мс. | 6574.7 мс. | 635 — 9781 мс. | 131.5 сек. |
Infobox:
Неудачные запросы | Кол-во запросов в сек. | Время выполнения 1 запроса | Время выполнения всех запросов | Время соединения | Общее время |
---|---|---|---|---|---|
0 | 3.4 | 291.3 мс. | 14563.8 мс. | 2018 — 16325 мс. | 291.3 сек. |
It-mcp:
Неудачные запросы | Кол-во запросов в сек. | Время выполнения 1 запроса | Время выполнения всех запросов | Время соединения | Общее время |
---|---|---|---|---|---|
0 | 2.3 | 436.6 мс. | 21827.7 мс. | 2548 — 24240 мс. | 436.6 сек. |
Fozzy:
Неудачные запросы | Кол-во запросов в сек. | Время выполнения 1 запроса | Время выполнения всех запросов | Время соединения | Общее время |
---|---|---|---|---|---|
0 | 5.5 | 182.7 мс. | 9133.7 мс. | 1620 — 11103 мс. | 182.7 сек. |
VDS24:
Неудачные запросы | Кол-во запросов в сек. | Время выполнения 1 запроса | Время выполнения всех запросов | Время соединения | Общее время |
---|---|---|---|---|---|
0 | 9.6 | 104 мс. | 5202.3 мс. | 987 — 10296 мс. | 104 сек. |
По результатам второго этапа тестирования по-прежнему с небольшим отрывом лидирует VDS24, ему в спину дышит Agava. В хвосте списка плетется It-mcp.
Третий раунд: 100 потоков и 10000 запросов.
Timeweb:
В третьем раунде у Timeweb при всех 3 попытках намертво падал MySQL и Apache выдавал невеселое сообщение: Error displaying the error page: Application Instantiation Error. Тестируемый сайт оживал только после рестрата MySQL. На третьем этапе VPS от Timeweb пополняет ряды отстающих, вкупе с 1gb.
Agava:
Неудачные запросы | Кол-во запросов в сек. | Время выполнения 1 запроса | Время выполнения всех запросов | Время соединения | Общее время |
---|---|---|---|---|---|
0 | 7.6 | 125.8 мс. | 12576 мс. | 606 — 15627 мс. | 1257.6 сек. |
Infobox:
Неудачные запросы | Кол-во запросов в сек. | Время выполнения 1 запроса | Время выполнения всех запросов | Время соединения | Общее время |
---|---|---|---|---|---|
0 | 3.4 | 292.2 мс. | 29216.5 мс. | 1576 — 35362 мс. | 2921.6 сек. |
It-mcp:
Неудачные запросы | Кол-во запросов в сек. | Время выполнения 1 запроса | Время выполнения всех запросов | Время соединения | Общее время |
---|---|---|---|---|---|
0 | 2.3 | 4396.1 мс. | 43961.3 мс. | 2683 — 81978 мс. | 4396.1 сек. |
Fozzy:
Неудачные запросы | Кол-во запросов в сек. | Время выполнения 1 запроса | Время выполнения всех запросов | Время соединения | Общее время |
---|---|---|---|---|---|
0 | 5.2 | 1910.3 мс. | 19103.4 мс. | 1488 — 23609 мс. | 1910.3 сек. |
VDS24:
Мы подошли к нашему лидеру первых двух этапов. И тут нас постигает разочарование. VDS24 при всех трех попытках намертво зависал, сумев обработать лишь чуть более 2000 запросов.
На этом третий этап тестирования завершен.
Итоги:
Победителем нашего тестирования, продемонстрировавшим весьма неплохую скорость работы и отказоустойчивость, объявлен VPS от Agava.
Аутсайдером нашего теста, конечно же, стал VPS от 1gb, который смог справиться лишь с 10 потоками и 50 запросами.
Итоговая таблица выглядит так:
- Agava
- Несмотря на провал в последнем тесте, второе место я отдаю VDS24
- Fozzy
- Infobox
- It-mcp
- Timeweb
- 1gb
Для эксперимента была сделана попытка проверить возможности еще не выпавших из гонки VPS. Им в нагрузку было отправлено 300 потоков и 50 000 запросов. Скажу сразу, что никто с такой нагрузкой так и не справился.
Конечно мы смогли протестировать далеко не все VPS, которые есть на рынке, также скорость работы и отказоустойчивость можно значительно повысить грамотной настройкой VPS, но потенциал был хорошо прослежен в данном тесте. Как выяснилось далеко не всегда производительность упирается в мегагерцы и объемы ОЗУ.
Ознакомиться со сводной таблицей результатов тестирования можно здесь.