Для тестирования были рандомным способом отобраны 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, но потенциал был хорошо прослежен в данном тесте. Как выяснилось далеко не всегда производительность упирается в мегагерцы и объемы ОЗУ.
Ознакомиться со сводной таблицей результатов тестирования можно здесь.
This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at http://ift.tt/jcXqJW.
Комментариев нет:
Отправить комментарий