Какой Web-сервер выбрать?

Материал из 1GbWiki.

(Различия между версиями)
Перейти к: навигация, поиск
Версия 14:20, 2 ноября 2009 (править)
77.238.248.121 (Обсуждение)

← К предыдущему изменению
Текущая версия (14:31, 24 марта 2010) (править) (отменить)
Rin (Обсуждение | вклад)
м
 
(13 промежуточных версий не показаны.)
Строка 1: Строка 1:
-#CGI+Данная статья поможет сделать правильный выбор Web-сервера для размещения сайта на PHP (или статического) на хостинге [http://www.1gb.ua 1Gb.ua], а также носит развлекально-познавательный характер, предлагая оценить возможности различных web-серверов на разных серверных платформах. Также следует учитывать, что тестирование проводилось на реальных серверах с рабочей загрузкой, поэтому данные между различными платформами (Windows, UNIX/UNIX) могут отличаться между собой в пределах до 30-50%.
-Concurrency Level: 10+
-Time taken for tests: 60.005 seconds+
-Complete requests: 1421+
-Failed requests: 0+
-Write errors: 0+
-Total transferred: 6609923 bytes+
-HTML transferred: 5859914 bytes+
-Requests per second: 23.68 [#/sec] (mean)+
-Time per request: 422.272 [ms] (mean)+
-Time per request: 42.227 [ms] (mean, across all concurrent requests)+
-Transfer rate: 107.57 [Kbytes/sec] received+
-Concurrency Level: 10+И еще, автор статьи никоим образом не заинтересован в результатах тестирования и приводит исключительно правдоподобные данные ;)
-Time taken for tests: 60.203 seconds+
-Complete requests: 1548+
-Failed requests: 0+
-Write errors: 0+
-Total transferred: 7227686 bytes+
-HTML transferred: 6407608 bytes+
-Requests per second: 25.71 [#/sec] (mean)+
-Time per request: 388.908 [ms] (mean)+
-Time per request: 38.891 [ms] (mean, across all concurrent requests)+
-Transfer rate: 117.24 [Kbytes/sec] received+
-=================+
-Concurrency Level: 10+
-Time taken for tests: 60.003 seconds+
-Complete requests: 3796+
-Failed requests: 0+
-Write errors: 0+
-Total transferred: 390256832 bytes+
-HTML transferred: 389131144 bytes+
-Requests per second: 63.26 [#/sec] (mean)+
-Time per request: 158.068 [ms] (mean)+
-Time per request: 15.807 [ms] (mean, across all concurrent requests)+
-Transfer rate: 6351.56 [Kbytes/sec] received+
-Concurrency Level: 10+== Методика тестирования ==
-Time taken for tests: 60.069 seconds+Основным критерием оценки будет служить количество запросов (10 параллельных) обработанных web-сервером в течение 60 секунд. Для полноты тестирования используется различный контент: <code>Joomla!</code> (пустая, без демо-данных), файл .zip размером 100Kb, картинка .png размером 1.5Kb. Все параметры усредненные, полученные после трех одинаковых последовательных тестов.
-Complete requests: 4205+
-Failed requests: 0+
-Write errors: 0+
-Total transferred: 432350160 bytes+
-HTML transferred: 431104000 bytes+
-Requests per second: 70.00 [#/sec] (mean)+
-Time per request: 142.852 [ms] (mean)+
-Time per request: 14.285 [ms] (mean, across all concurrent requests)+
-Transfer rate: 7028.85 [Kbytes/sec] received+
-Concurrency Level: 10+=== Joomla! ===
-Time taken for tests: 60.005 seconds+* UNIX/Apache/CGI - 1484
-Complete requests: 3778+* UNIX/Apache/FastCGI - 2417
-Failed requests: 0+* '''UNIX/Apache/FastCGI/eAccelerator - 5318'''
-Write errors: 0+* UNIX/Apache/mod_php - 2067
-Total transferred: 388241464 bytes+* PROSTO.1Gb.ua - 2178
-HTML transferred: 387120808 bytes+* Windows/IIS/CGI - 362
-Requests per second: 62.96 [#/sec] (mean)+* Windows/Apache/mod_php - от состояния сервера от 300-500 до < 10
-Time per request: 158.828 [ms] (mean)+
-Time per request: 15.883 [ms] (mean, across all concurrent requests)+
-Transfer rate: 6318.48 [Kbytes/sec] received+
-# FastCGI+Можно с уверенностью сказать, что наилучшим выбором для сайта на <code>Joomla!</code>'е (да и для любого другого сайта на PHP) будет <code>UNIX/Apache/FastCGI</code>, в т.ч. с включенным <code>eAccelerator</code>'ом. Windows платформа провалила тест, она работает существенно медленнее.
-Concurrency Level: 10+При этом на Windows скорость выполнения простейшего PHP скрипта, скажем, PRINT "OK", является нормальной (в данном тесте - более 15 тыс., что явно не составляет узкого места), но современные порталы работают очень плохо.
-Time taken for tests: 60.248 seconds+
-Complete requests: 2273+
-Failed requests: 0+
-Write errors: 0+
-Total transferred: 10517171 bytes+
-HTML transferred: 9387490 bytes+
-Requests per second: 37.73 [#/sec] (mean)+
-Time per request: 265.060 [ms] (mean)+
-Time per request: 26.506 [ms] (mean, across all concurrent requests)+
-Transfer rate: 170.47 [Kbytes/sec] received+
-Concurrency Level: 10+=== Файл .zip 100 Kb ===
-Time taken for tests: 60.001 seconds+*''' UNIX/Apache/CGI - 4263'''
-Complete requests: 2562+* UNIX/Apache/FastCGI - 3976
-Failed requests: 0+* UNIX/Apache/mod_php - 4100
-Write errors: 0+
-Total transferred: 11854374 bytes+
-HTML transferred: 10581060 bytes+
-Requests per second: 42.70 [#/sec] (mean)+
-Time per request: 234.197 [ms] (mean)+
-Time per request: 23.420 [ms] (mean, across all concurrent requests)+
-Transfer rate: 192.94 [Kbytes/sec] received+
-=============+* PROSTO.1Gb.ua - 3030
-Concurrency Level: 10+
-Time taken for tests: 60.006 seconds+
-Complete requests: 4125+
-Failed requests: 0+
-Write errors: 0+
-Total transferred: 423908858 bytes+
-HTML transferred: 422809480 bytes+
-Requests per second: 68.74 [#/sec] (mean)+
-Time per request: 145.469 [ms] (mean)+
-Time per request: 14.547 [ms] (mean, across all concurrent requests)+
-Transfer rate: 6898.89 [Kbytes/sec] received+
-Concurrency Level: 10+*''' Windows/IIS/CGI - 4225'''
-Time taken for tests: 60.037 seconds+* Windows/Apache/mod_php - 3580
-Complete requests: 4023+
-Failed requests: 0+
-Write errors: 0+
-Total transferred: 413617550 bytes+
-HTML transferred: 412545570 bytes+
-Requests per second: 67.01 [#/sec] (mean)+
-Time per request: 149.233 [ms] (mean)+
-Time per request: 14.923 [ms] (mean, across all concurrent requests)+
-Transfer rate: 6727.95 [Kbytes/sec] received+
-Concurrency Level: 10+Здесь лидеров нет, любой из серверов одинаково хорошо будет раздавать файлы средних размеров, пожалуй, единственное что не стоит, так это выбирать <code>Windows/Apache/mod_php</code>.
-Time taken for tests: 60.042 seconds+
-Complete requests: 3781+
-Failed requests: 0+
-Write errors: 0+
-Total transferred: 388810026 bytes+
-HTML transferred: 387801886 bytes+
-Requests per second: 62.97 [#/sec] (mean)+
-Time per request: 158.800 [ms] (mean)+
-Time per request: 15.880 [ms] (mean, across all concurrent requests)+
-Transfer rate: 6323.83 [Kbytes/sec] received+
-Concurrency Level: 10+Результат теста практически полностью зависит от состояния сети сервера (от доступной пропускной способности), поэтому имеет смысл сравнивать только результаты одного типа серверов (группы отделены).
-Time taken for tests: 60.035 seconds+
-Complete requests: 4072+
-Failed requests: 0+
-Write errors: 0+
-Total transferred: 418604744 bytes+
-HTML transferred: 417519730 bytes+
-Requests per second: 67.83 [#/sec] (mean)+
-Time per request: 147.433 [ms] (mean)+
-Time per request: 14.743 [ms] (mean, across all concurrent requests)+
-Transfer rate: 6809.28 [Kbytes/sec] received+
-# eacc+=== Файл .zip 100 Mb ===
-Concurrency Level: 10+В этом тесте используется иной подсчет, замеряется время (секунды) скачивания одного 100 мегабайтного файла в сети со скоростью 100 Mbps. Данные усреднены по результатам нескольких тестов.
-Time taken for tests: 61.335 seconds+* '''UNIX/Apache/CGI - 16'''
-Complete requests: 5429+* '''UNIX/Apache/FastCGI - 13'''
-Failed requests: 0+* '''UNIX/Apache/mod_php - 13.6'''
-Write errors: 0+
-Total transferred: 25119983 bytes+
-HTML transferred: 22421770 bytes+
-Requests per second: 88.51 [#/sec] (mean)+
-Time per request: 112.978 [ms] (mean)+
-Time per request: 11.298 [ms] (mean, across all concurrent requests)+
-Transfer rate: 399.95 [Kbytes/sec] received+
-Concurrency Level: 10+* PROSTO.1Gb.ua - 21.33
-Time taken for tests: 60.010 seconds+
-Complete requests: 4732+
-Failed requests: 0+
-Write errors: 0+
-Total transferred: 21894964 bytes+
-HTML transferred: 19543160 bytes+
-Requests per second: 78.85 [#/sec] (mean)+
-Time per request: 126.818 [ms] (mean)+
-Time per request: 12.682 [ms] (mean, across all concurrent requests)+
-Transfer rate: 356.30 [Kbytes/sec] received+
-Concurrency Level: 10+* Windows/IIS/CGI - 23
-Time taken for tests: 60.001 seconds+* Windows/Apache/mod_php - 21.3
-Complete requests: 5795+
-Failed requests: 0+
-Write errors: 0+
-Total transferred: 26813465 bytes+
-HTML transferred: 23933350 bytes+
-Requests per second: 96.58 [#/sec] (mean)+
-Time per request: 103.539 [ms] (mean)+
-Time per request: 10.354 [ms] (mean, across all concurrent requests)+
-Transfer rate: 436.41 [Kbytes/sec] received+
-# mod_php+Результат теста практически полностью зависит от состояния сети сервера (от доступной пропускной способности), поэтому имеет смысл сравнивать только результаты одного типа серверов (группы отделены).
-Concurrency Level: 10+=== Маленькие статические файлы ===
-Time taken for tests: 60.011 seconds+Т.к. количество запросов ограничено 50-ю тысячами, то в данном тесте параметром оценки будет служить время, за которое было выполнено 50 тысяч запросов.
-Complete requests: 2075+
-Failed requests: 0+
-Write errors: 0+
-Total transferred: 9632150 bytes+
-HTML transferred: 8569750 bytes+
-Requests per second: 34.58 [#/sec] (mean)+
-Time per request: 289.208 [ms] (mean)+
-Time per request: 28.921 [ms] (mean, across all concurrent requests)+
-Transfer rate: 156.75 [Kbytes/sec] received+
-Concurrency Level: 10+* '''UNIX/Apache/CGI - 30 с.'''
-Time taken for tests: 60.030 seconds+* '''UNIX/Apache/FastCGI - 29 с.'''
-Complete requests: 2059+* '''UNIX/Apache/mod_php - 30 с.'''
-Failed requests: 1+
- (Connect: 0, Receive: 0, Length: 1, Exceptions: 0)+
-Write errors: 0+
-Total transferred: 9553236 bytes+
-HTML transferred: 8499540 bytes+
-Requests per second: 34.30 [#/sec] (mean)+
-Time per request: 291.551 [ms] (mean)+
-Time per request: 29.155 [ms] (mean, across all concurrent requests)+
-Transfer rate: 155.41 [Kbytes/sec] received+
-==============+* PROSTO.1Gb.ua - 53 с.
-Concurrency Level: 10+* Windows/IIS/CGI - 48 с.
-Time taken for tests: 60.001 seconds+* Windows/Apache/mod_php > 60 c.
-Complete requests: 3687+
-Failed requests: 0+
-Write errors: 0+
-Total transferred: 378938843 bytes+
-HTML transferred: 377915882 bytes+
-Requests per second: 61.45 [#/sec] (mean)+
-Time per request: 162.738 [ms] (mean)+
-Time per request: 16.274 [ms] (mean, across all concurrent requests)+
-Transfer rate: 6167.48 [Kbytes/sec] received+
-Concurrency Level: 10+Явных лидеров также нет, но тест провален платформой <code>Windows/Apache/mod_php</code>. Она как минимум в 2 раза медленнее, что заметным образом скажется на работе статического сайта.
-Time taken for tests: 60.101 seconds+
-Complete requests: 4144+
-Failed requests: 0+
-Write errors: 0+
-Total transferred: 426253688 bytes+
-HTML transferred: 425103307 bytes+
-Requests per second: 68.95 [#/sec] (mean)+
-Time per request: 145.031 [ms] (mean)+
-Time per request: 14.503 [ms] (mean, across all concurrent requests)+
-Transfer rate: 6926.10 [Kbytes/sec] received+
-Concurrency Level: 10+Результат теста практически полностью зависит от состояния сети сервера (от доступной пропускной способности), поэтому имеет смысл сравнивать только результаты одного типа серверов (группы отделены), кроме разве что результата Windows/Apache, который объективно хуже.
-Time taken for tests: 60.033 seconds+
-Complete requests: 3570+
-Failed requests: 0+
-Write errors: 0+
-Total transferred: 366907306 bytes+
-HTML transferred: 365915923 bytes+
-Requests per second: 59.47 [#/sec] (mean)+
-Time per request: 168.160 [ms] (mean)+
-Time per request: 16.816 [ms] (mean, across all concurrent requests)+
-Transfer rate: 5968.49 [Kbytes/sec] received+
-# prosto+== Выводы ==
-Concurrency Level: 10+
-Time taken for tests: 60.445 seconds+
-Complete requests: 1314+
-Failed requests: 525+
- (Connect: 0, Receive: 0, Length: 525, Exceptions: 0)+
-Write errors: 0+
-Non-2xx responses: 525+
-Total transferred: 4264823 bytes+
-HTML transferred: 3590030 bytes+
-Requests per second: 21.74 [#/sec] (mean)+
-Time per request: 460.010 [ms] (mean)+
-Time per request: 46.001 [ms] (mean, across all concurrent requests)+
-Transfer rate: 68.90 [Kbytes/sec] received+
-Concurrency Level: 10+* Если ваш сайт сделан на основе какой-то мощной CMS (Joomla!, WordPress, Bitrix, PHP Shop и т.п.) на языке <code>PHP</code>, то оптимальным выбором будет тип сервера <code>UNIX/Apache/FastCGI</code> или <code>UNIX/Apache/mod_php</code>, другие типы серверов выбирайте только в том случае, если вы точно знаете для чего вам это нужно.
-Time taken for tests: 60.067 seconds+* Для простых динамических (на PHP) или для слабопосещаемых сайтов подойдет недорогой проект [http://PROSTO.1Gb.ua PROSTO.1Gb.ua]
-Complete requests: 3940+* Для статических сайтов или сайтов имеющих объемный контент для скачивания: UNIX/Apache/CGI, Windows/IIS/CGI, платформы равнозначны.
-Failed requests: 1272+
- (Connect: 0, Receive: 0, Length: 1272, Exceptions: 0)+
-Write errors: 0+
-Non-2xx responses: 2668+
-Total transferred: 8618268 bytes+
-HTML transferred: 6925048 bytes+
-Requests per second: 65.59 [#/sec] (mean)+
-Time per request: 152.455 [ms] (mean)+
-Time per request: 15.246 [ms] (mean, across all concurrent requests)+
-Transfer rate: 140.11 [Kbytes/sec] received+
-Concurrency Level: 10+== Комментарии ==
-Time taken for tests: 61.203 seconds+Эти тесты оценивают только работу с PHP (или схожими технологиями, например, Python в FastCGI режиме будет показывать похожие результаты).
-Complete requests: 1282+
-Failed requests: 174+
- (Connect: 0, Receive: 0, Length: 174, Exceptions: 0)+
-Write errors: 0+
-Non-2xx responses: 174+
-Total transferred: 5445629 bytes+
-HTML transferred: 4681988 bytes+
-Requests per second: 20.95 [#/sec] (mean)+
-Time per request: 477.405 [ms] (mean)+
-Time per request: 47.741 [ms] (mean, across all concurrent requests)+
-Transfer rate: 86.89 [Kbytes/sec] received+
-Concurrency Level: 10+Нельзя использовать эти данные для оценки веб-серверов на других технологиях. Так, например, выполнение даже сложных скриптов ASP.NET происходит на IIS с очень высокой скоростью, в среднем выше, чем у скриптов на PHP. Но потом всё равно тяжелая БД и неэффективный портал, часто, окажутся более решающими факторами.
-Time taken for tests: 60.048 seconds+
-Complete requests: 846+
-Failed requests: 251+
- (Connect: 0, Receive: 0, Length: 251, Exceptions: 0)+
-Write errors: 0+
-Non-2xx responses: 251+
-Total transferred: 3073327 bytes+
-HTML transferred: 2613193 bytes+
-Requests per second: 14.09 [#/sec] (mean)+
-Time per request: 709.781 [ms] (mean)+
-Time per request: 70.978 [ms] (mean, across all concurrent requests)+
-Transfer rate: 49.98 [Kbytes/sec] received+
-=====zip ====+Также, обратим ваше внимание на то, что ''при проведении таких тестов веб-сервера испытывают нагрузки, далеко превышающие любой тариф виртуального хостинга''. В более спокойной обстановке (например, не 10 одновременных запросов, а 2 одновременных запроса) разница между веб-серверами заметна слабее. Так, Windows/Apache/mod_php начинает работать не в 100 раз хуже, чем UNIX/Apache/mod_php, а "всего" в 5-10 раз, что дает уже в целом работоспособный сайт. Приведенные тесты показывают общую тенденцию в работе веб-серверов для обработки PHP, но нельзя напрямую связывать их со скоростью работы сайта для конечного пользователя - она зависит также от десятка других причин.
-Concurrency Level: 10+
-Time taken for tests: 60.001 seconds+
-Complete requests: 3030+
-Failed requests: 0+
-Write errors: 0+
-Total transferred: 312085017 bytes+
-HTML transferred: 310840888 bytes+
-Requests per second: 50.50 [#/sec] (mean)+
-Time per request: 198.024 [ms] (mean)+
-Time per request: 19.802 [ms] (mean, across all concurrent requests)+
-Transfer rate: 5079.41 [Kbytes/sec] received+
-=== small img ===+
-> 50k+
-# Windows mod_php 5+== См. также ==
 +* [[Акселераторы PHP]]
-=== zip w squid ===+== Ссылки ==
-Concurrency Level: 10+* [http://www.1gb.ua/services_servertype.php Выбор типа сервера] - статья на сайте 1Gb.ua
-Time taken for tests: 60.000 seconds+
-Complete requests: 3459+
-Failed requests: 0+
-Write errors: 0+
-Total transferred: 356005910 bytes+
-HTML transferred: 354616232 bytes+
-Requests per second: 57.65 [#/sec] (mean)+
-Time per request: 173.462 [ms] (mean)+
-Time per request: 17.346 [ms] (mean, across all concurrent requests)+
-Transfer rate: 5794.33 [Kbytes/sec] received+
-Concurrency Level: 10+[[Категория:WEB-сервер Apache]]
-Time taken for tests: 60.005 seconds+[[Категория:WEB-сервер IIS]]
-Complete requests: 3665+[[Категория:Серверная нагрузка]]
-Failed requests: 0+
-Write errors: 0+
-Total transferred: 377171872 bytes+
-HTML transferred: 375695728 bytes+
-Requests per second: 61.08 [#/sec] (mean)+
-Time per request: 163.725 [ms] (mean)+
-Time per request: 16.373 [ms] (mean, across all concurrent requests)+
-Transfer rate: 6138.32 [Kbytes/sec] received+
- +
-=== zip wo squid ===+
-Concurrency Level: 10+
-Time taken for tests: 60.037 seconds+
-Complete requests: 3004+
-Failed requests: 0+
-Write errors: 0+
-Total transferred: 308478192 bytes+
-HTML transferred: 307636792 bytes+
-Requests per second: 50.04 [#/sec] (mean)+
-Time per request: 199.856 [ms] (mean)+
-Time per request: 19.986 [ms] (mean, across all concurrent requests)+
-Transfer rate: 5017.74 [Kbytes/sec] received+
- +
-Concurrency Level: 10+
-Time taken for tests: 60.004 seconds+
-Complete requests: 2666+
-Failed requests: 0+
-Write errors: 0+
-Total transferred: 273994624 bytes+
-HTML transferred: 273247024 bytes+
-Requests per second: 44.43 [#/sec] (mean)+
-Time per request: 225.070 [ms] (mean)+
-Time per request: 22.507 [ms] (mean, across all concurrent requests)+
-Transfer rate: 4459.28 [Kbytes/sec] received+
- +
-=== small img wo squid ===+
-Concurrency Level: 10+
-Time taken for tests: 60.006 seconds+
-Complete requests: 7251+
-Failed requests: 0+
-Write errors: 0+
-Total transferred: 13024592 bytes+
-HTML transferred: 10566164 bytes+
-Requests per second: 120.84 [#/sec] (mean)+
-Time per request: 82.755 [ms] (mean)+
-Time per request: 8.276 [ms] (mean, across all concurrent requests)+
-Transfer rate: 211.97 [Kbytes/sec] received+
- +
-Concurrency Level: 10+
-Time taken for tests: 60.004 seconds+
-Complete requests: 6322+
-Failed requests: 0+
-Write errors: 0+
-Total transferred: 11354312 bytes+
-HTML transferred: 9211154 bytes+
-Requests per second: 105.36 [#/sec] (mean)+
-Time per request: 94.913 [ms] (mean)+
-Time per request: 9.491 [ms] (mean, across all concurrent requests)+
-Transfer rate: 184.79 [Kbytes/sec] received+
- +
-Concurrency Level: 10+
-Time taken for tests: 60.002 seconds+
-Complete requests: 9170+
-Failed requests: 0+
-Write errors: 0+
-Total transferred: 16481892 bytes+
-HTML transferred: 13370889 bytes+
-Requests per second: 152.83 [#/sec] (mean)+
-Time per request: 65.433 [ms] (mean)+
-Time per request: 6.543 [ms] (mean, across all concurrent requests)+
-Transfer rate: 268.25 [Kbytes/sec] received+
- +
-=== small img w squid ===+
-Concurrency Level: 10+
-Time taken for tests: 60.011 seconds+
-Complete requests: 37444+
-Failed requests: 0+
-Write errors: 0+
-Total transferred: 71774069 bytes+
-HTML transferred: 54555908 bytes+
-Requests per second: 623.95 [#/sec] (mean)+
-Time per request: 16.027 [ms] (mean)+
-Time per request: 1.603 [ms] (mean, across all concurrent requests)+
-Transfer rate: 1167.98 [Kbytes/sec] received+
- +
-Concurrency Level: 10+
-Time taken for tests: 60.000 seconds+
-Complete requests: 41625+
-Failed requests: 0+
-Write errors: 0+
-Total transferred: 79822009 bytes+
-HTML transferred: 60649082 bytes+
-Requests per second: 693.75 [#/sec] (mean)+
-Time per request: 14.414 [ms] (mean)+
-Time per request: 1.441 [ms] (mean, across all concurrent requests)+
-Transfer rate: 1299.19 [Kbytes/sec] received+
- +
-Concurrency Level: 10+
-Time taken for tests: 60.048 seconds+
-Complete requests: 40171+
-Failed requests: 0+
-Write errors: 0+
-Total transferred: 77049896 bytes+
-HTML transferred: 58530604 bytes+
-Requests per second: 668.98 [#/sec] (mean)+
-Time per request: 14.948 [ms] (mean)+
-Time per request: 1.495 [ms] (mean, across all concurrent requests)+
-Transfer rate: 1253.07 [Kbytes/sec] received+

Текущая версия

Данная статья поможет сделать правильный выбор Web-сервера для размещения сайта на PHP (или статического) на хостинге 1Gb.ua, а также носит развлекально-познавательный характер, предлагая оценить возможности различных 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.ua - 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.ua - 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.ua - 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.ua - 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.ua
  • Для статических сайтов или сайтов имеющих объемный контент для скачивания: 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, но нельзя напрямую связывать их со скоростью работы сайта для конечного пользователя - она зависит также от десятка других причин.

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

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

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