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

Выводы

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

См. также

Ссылки

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