Какой Web-сервер выбрать?
Материал из 1GbWiki.
Данная статья поможет сделать правильный выбор Web-сервера для размещения сайта на PHP (или статического) на хостинге 1Gb.ru, а также носит развлекально-познавательный характер, предлагая оценить возможности различных web-серверов на разных серверных платформах. Также следует учитывать, что тестирование проводилось на реальных серверах с рабочей загрузкой, поэтому данные между различными платформами (Windows, UNIX/UNIX) могут отличаться между собой в пределах до 30-50%.
И еще, автор статьи никоим образом не заинтересован в результатах тестирования и приводит исключительно правдоподобные данные ;)
Содержание |
Методика тестирования
Основным критерием оценки будет служить количество запросов (10 параллельных) обработанных web-сервером в течение 60 секунд. Для полноты тестирования используется различный контент: Joomla!
(пустая, без демо-данных), файл .zip размером 100Kb, картинка .png размером 1.5Kb. Все параметры усредненные, полученные после трех одинаковых последовательных тестов.
Joomla!
- UNIX/Apache/CGI - 1484
- UNIX/Apache/FastCGI - 2417
- UNIX/Apache/FastCGI/eAccelerator - 5318
- UNIX/Apache/mod_php - 2067
- PROSTO.1Gb.ru - 2178
- Windows/IIS/CGI - 362
- Windows/Apache/mod_php - от состояния сервера от 300-500 до < 10
Можно с уверенностью сказать, что наилучшим выбором для сайта на Joomla!
'е (да и для любого другого сайта на PHP) будет UNIX/Apache/FastCGI
, в т.ч. с включенным eAccelerator
'ом. Windows платформа провалила тест, она работает существенно медленнее.
При этом на Windows скорость выполнения простейшего PHP скрипта, скажем, PRINT "OK", является нормальной (в данном тесте - более 15 тыс., что явно не составляет узкого места), но современные порталы работают очень плохо.
Файл .zip 100 Kb
- UNIX/Apache/CGI - 4263
- UNIX/Apache/FastCGI - 3976
- UNIX/Apache/mod_php - 4100
- PROSTO.1Gb.ru - 3030
- Windows/IIS/CGI - 4225
- Windows/Apache/mod_php - 3580
Здесь лидеров нет, любой из серверов одинаково хорошо будет раздавать файлы средних размеров, пожалуй, единственное что не стоит, так это выбирать Windows/Apache/mod_php
.
Файл .zip 100 Mb
В этом тесте используется иной подсчет, замеряется время (секунды) скачивания одного 100 мегабайтного файла в сети со скоростью 100 Mbps. Данные усреднены по результатам нескольких тестов.
- UNIX/Apache/CGI - 16
- UNIX/Apache/FastCGI - 13
- UNIX/Apache/mod_php - 13.6
- PROSTO.1Gb.ru - 21.33
- Windows/IIS/CGI - 23
- Windows/Apache/mod_php - 21.3
UNIX серверы опять же чуть впереди.
Маленькие статические файлы
Т.к. количество запросов ограничено 50-ю тысячами, то в данном тесте параметром оценки будет служить время, за которое было выполнено 50 тысяч запросов.
- UNIX/Apache/CGI - 30 с.
- UNIX/Apache/FastCGI - 29 с.
- UNIX/Apache/mod_php - 30 с.
- PROSTO.1Gb.ru - 53 с.
- Windows/IIS/CGI - 48 с.
- Windows/Apache/mod_php > 60 c.
Явных лидеров также нет, но тест провален платформой Windows/Apache/mod_php
. Она как минимум в 2 раза медленнее, что заметным образом скажется на работе статического сайта.
Выводы
- Если ваш сайт сделан на основе какой-то мощной CMS (Joomla!, WordPress, Bitrix, PHP Shop и т.п.) на языке
PHP
, то оптимальным выбором будет тип сервераUNIX/Apache/FastCGI
илиUNIX/Apache/mod_php
, другие типы серверов выбирайте только в том случае, если вы точно знаете для чего вам это нужно. - Для простых динамических (на PHP) или для слабопосещаемых сайтов подойдет недорогой проект PROSTO.1Gb.ru
- Для статических сайтов или сайтов имеющих объемный контент для скачивания: UNIX/Apache/CGI, Windows/IIS/CGI, платформы развнозначны.
Комментарии
Эти тесты оценивают только работу с PHP (или схожими технологиями, например, Python в FastCGI режиме будет показывать похожие результаты).
Нельзя использовать эти данные для оценки веб-серверов на других технологиях. Так, например, выполнение даже сложных скриптов ASP.NET происходит на IIS с очень высокой скоростью, в среднем выше, чем у скриптов на PHP. Но потом всё равно тяжелая БД и неэффективный портал, часто, окажутся более решающими факторами.
Также, обратим ваше внимание на то, что при проведении таких тестов веб-сервера испытывают нагрузки, далеко превышающие любой тариф виртуального хостинга. В более спокойной обстановке (например, не 10 одновременных запросов, а 2 одновременных запроса) разница между веб-серверами заметна слабее. Так, Windows/Apache/mod_php начинает работать не в 100 раз хуже, чем UNIX/Apache/mod_php, а "всего" в 5-10 раз, что дает уже в целом работоспособный сайт. Приведенные тесты показывают общую тенденцию в работе веб-серверов для обработки PHP, но нельзя напрямую связывать их со скоростью работы сайта для конечного пользователя - она зависит также от десятка других причин.
См. также
Ссылки
- Выбор типа сервера - статья на сайте 1Gb.ru