Являются ли большинство тестов производительности веб-серверов бесполезными?

Являются ли большинство тестов производительности веб-серверов бесполезными?

Существует множество тестов производительности, сравнивающих Apache, nginx, lighttpd, LiteSpeed/ OpenLiteSpeed, Cherokee и т. д.

К сожалению, похоже, что большинство тестов относятся к типу «небольших статических файлов», что совершенно бесполезно... кто использует веб-сервер для обслуживания небольших статических файлов?

Почему никто не запускает тесты производительности для установок PHP-приложений по умолчанию, таких как:

  • Вордпресс
  • Друпал
  • phpBB
  • Галерея Меналто
  • Магенто
  • OpenCart
    и т.д.

Это было бы гораздо лучшим показателем того, что лучше всего работает в реальных условиях использования, и дало бы людям гораздо лучшее представление о наиболее подходящем сервере для их нужд.

Вышеуказанные популярные PHP-приложения, вероятно, покроют потребности огромной части пользователей веб-серверов.

Конечно, в этом виде бенчмарка производительность MySQL, PHP и т. д. будет играть роль, и мы не получим RAW-цифры производительности для веб-сервера. Но кого вообще волнуют RAW-цифры? Людей на самом деле волнует только сравнительная производительность, и именно поэтому они проверяют бенчмарки.

Если мы начнем проводить подобные тесты, то, возможно, в конце концов придем к выводу, что сравнение серверов не имеет смысла, поскольку между конкурирующими продуктами нет существенных различий в производительности и что в инфраструктуре/настройке есть другие элементы, требующие гораздо большего внимания к оптимизации.

Я уверен, что люди, которые проводят бенчмарки, умны и знают все вышеперечисленное... так почему же мы продолжаем получать бесполезные бенчмарки «маленьких статических файлов»?

решение1

Наиболее важными контрольными показателями являются те, которые вы проводите для своего приложения перед внесением каких-либо изменений, а затем повторно запускаете их на своем собственном оборудовании в своей серверной среде.

Это не поможет, если вы пытаетесь выбрать, использовать ли фреймворк X или фреймворк Y для своего приложения или конфигурации, если только вы не в состоянии протестировать свои серверы с несколькими конфигурациями перед запуском в эксплуатацию.

Но вы правы в том, что когда вы смотрите на опубликованные бенчмарки, есть много факторов, которые могут повлиять на результаты. Они бесполезны? Может быть, не совсем; если конкретная структура или сервер хорошо работает в нескольких тестах, она, вероятно, будет хорошо работать и у вас. Если она медленная, она, вероятно, будет относительно медленной.

Вам все еще могут понадобиться другие факторы для рассмотрения. Какая польза от быстрого фреймворка, если у вас нет опыта работы с ним, и вам нужно выпустить продукт в сжатые сроки? Будут ли люди, которые его поддерживают, иметь опыт работы на этой платформе или смогут ли быстро его изучить? Возможно, у вас есть внутренний опыт работы с определенным языком или сервером, что позволит сократить накладные расходы на обслуживание или добавление модулей или функций. Возможно, вам нужна платформа, которая активно поддерживается, чтобы вы могли быть уверены, что ошибки будут исправлены своевременно, или когда вам понадобится помощь, есть активное сообщество, которое даст совет. В конце концов, самый быстрый сервер не поможет, если вы не можете настроить его и настроить изначально.

решение2

Я думаю, вы только что ответили на свой собственный вопрос. Статические файловые бенчмарки легко настроить и легко измерить. Как только вы добавляете стек приложения, вы переходите от одной переменной (веб-сервер) к возможным десяткам. «А как насчет конфигурации PHP? Может быть, сервер MySQL испытывает нехватку оперативной памяти? Правильная ли конфигурация диска?» и так далее.

Статические бенчмарки проверяют одну вещь: насколько быстро данный веб-сервер может обслужить HTTP-запрос? В общем, это все, что вам нужно от веб-сервера. Как только вы говорите о серверах приложений, игра полностью меняется.

И справедливости ради следует отметить, что существуют тесты для веб-фреймворков и некоторых серверов приложений:http://www.techempower.com/benchmarks/

Связанный контент