Есть множество тестов, сравнивающих Apache, nginx, lighttpd, LiteSpeed / OpenLiteSpeed, Cherokee и т. Д.
К сожалению, похоже, что большинство тестов относятся к типу «маленький статический файл», что совершенно бесполезно ... кто использует веб-сервер для обслуживания небольших статических файлов?
Почему никто не запускает тесты для установки ПО УМОЛЧАНИЮ таких приложений php, как:
Это было бы гораздо лучшим показателем того, что лучше всего работает в условиях реального использования, и дало бы людям гораздо лучшее представление о наиболее подходящем сервере для их нужд.
Вышеупомянутые популярные приложения php, вероятно, покроют потребности огромной части пользователей веб-серверов.
Конечно, в этом тесте производительность MySQL, PHP и т.д. будет иметь значение, и мы не сможем получить данные о производительности RAW для веб-сервера. Но кого вообще волнуют числа в формате RAW? Людей действительно беспокоит только сравнительная производительность, и поэтому они проверяют тесты.
Если мы начнем делать такого рода тестов, мы могли бы, наконец, прийти к выводу, что сервер сравнения спорное, поскольку не существенные различия в производительности между конкурирующими продуктами и что есть другие элементы в инфраструктуру / настройки, которые необходимо гораздо больше внимания оптимизации.
Я уверен, что люди, которые запускают тесты, умны и знают все вышеперечисленное ... так почему же мы до сих пор продолжаем получать бесполезные тесты «небольших статических файлов»?
Самыми важными тестами являются тесты, которые вы проводите в своем приложении перед тем, как вносить какие-либо изменения, а затем повторно запускать их на своем оборудовании в собственной серверной среде.
Это не поможет, если вы пытаетесь выбрать, использовать ли фреймворк X или фреймворк Y для вашего приложения или конфигурации, если только вы не в состоянии протестировать свои серверы с несколькими конфигурациями перед запуском в производство.
Но вы правы в том, что, когда вы смотрите на опубликованные тесты, есть много факторов, которые могут повлиять на результаты. Они ничего не стоят? Может быть, не полностью; Если конкретный фреймворк или сервер показывает хорошие результаты в нескольких тестах, он, вероятно, будет хорошо работать для вас. Если он медленный, вероятно, будет относительно медленно.
Возможно, вам придется учитывать и другие факторы. Что хорошего в быстрой структуре, если у вас нет опыта с ней, и вам нужно развернуть продукт в срок? Будут ли люди, поддерживающие его, иметь опыт работы с этой платформой или смогут быстро изучить ее? Возможно, у вас есть собственный опыт работы с определенным языком или сервером, который снизил бы накладные расходы на обслуживание или добавление модулей или функций. Возможно, вам нужна активно поддерживаемая платформа, чтобы вы могли быть уверены, что ошибки будут исправлены своевременно, или, когда вам нужна помощь, существует активное сообщество, которое может дать совет. В конце концов, самый быстрый сервер не очень поможет, если вы не можете его настроить и настроить.
Я думаю, вы только что ответили на свой вопрос. Тесты статических файлов легко настроить и легко измерить. После добавления стека приложений вы переходите от одной переменной (веб-сервер) к, возможно, десяткам. «А как насчет конфигурации PHP? Может быть, серверу MySQL не хватает оперативной памяти? Правильная ли конфигурация диска?» и так далее.
Статические тесты проверяют одно: как быстро данный веб-сервер может обслуживать HTTP-запрос? В общем, это все, что вам нужно от веб-сервера. Как только вы говорите о серверах приложений, игра полностью меняется.
И, честно говоря, есть тесты для веб-фреймворков и некоторых серверов приложений: http://www.techempower.com/benchmarks/