Какой 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

Результат теста практически полностью зависит от состояния сети сервера (от доступной пропускной способности), поэтому имеет смысл сравнивать только результаты одного типа серверов (группы отделены).

[править] Маленькие статические файлы

Т.к. количество запросов ограничено 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 раза медленнее, что заметным образом скажется на работе статического сайта.

Результат теста практически полностью зависит от состояния сети сервера (от доступной пропускной способности), поэтому имеет смысл сравнивать только результаты одного типа серверов (группы отделены), кроме разве что результата Windows/Apache, который объективно хуже.

[править] Выводы

  • Если ваш сайт сделан на основе какой-то мощной 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, но нельзя напрямую связывать их со скоростью работы сайта для конечного пользователя - она зависит также от десятка других причин.

[править] См. также

[править] Ссылки

Личные инструменты