Реальная статистика производительности веб-сервера для статического контента (Apache, Lighty, IIS, Cherokee, Tomcat и т. Д.)
В проекте, с которым я работаю (частное веб-приложение, доступ к которому имеют тысячи пользователей), мы стремимся отменить загрузку статического контента на отдельный сервер (например, в виде CDN) для повышения производительности.
Я только ищу, чтобы служить до статического (.JS
, .CSS
, .GIF
, .JPG
& .PNG
файлы), которые будут редко меняться и, будем надеяться, будут сильно кэшироваться конечными пользователями.
Поэтому я хотел бы иметь возможность настроить этот параметр так, чтобы он не обслуживал файлы cookie, распаковывал текстовые файлы и устанавливал заголовки исходящего кэша в 12 месяцев. (имена файлов являются версионными)... и включить приличный серверный кеш.
После развертывания ОС и веб-сервер, которые будут использоваться, готовы к работе. Мои мысли по умолчанию... ну, Apache на Linux... но в своем недавнем исследовании я читал некоторые не очень приятные вещи об Apache (по сравнению с другими серверами) ( Lighttpd).
Мы не можем быть первой командой, которая настроила выделенный статический веб-сервер (/ пул), поэтому я надеюсь, что у других есть статистика для сравнения.
Если я верю статистике, которую я до сих пор читаю (ни одна из них не является объективной третьей стороной), то получается, что грубая скорость и способность обрабатывать параллельные соединения размещают серверы в таком порядке.
Я даже не уверен, где IIS, Tomcat, Jetty, LiteSpeed и т. Д. Вписываются в рейтинг.
Теперь я понимаю, что есть и другие соображения (блокировка ОС, $$$/ лицензирование, простота использования и знание сообщества), но помимо них...
Вопрос:
Кто-нибудь здесь делал какие-либо сравнения скорости (например, с помощью HTTP Test Tool, ApacheBench или аналогичных) с этими серверами и имеет информацию, которой он может поделиться, которая быстрее обрабатывает статический контент, или заметил какое-либо тревожное использование памяти и т. Д.?
3 ответа
Я не уверен, что ваша производительность выходит за рамки возможностей Apache. Было бы замечательно, если у вас есть предварительно определенное соглашение об уровне обслуживания для ваших нужд.
Я не знаю ни одной статьи с требуемым тестом (хотя я думаю, что вы можете определить свои собственные SLA/ метрики и тестовые серверы через собственный процесс тестирования).
Простота использования, поддержка сообщества и другие важные аспекты... Сначала вы должны обратиться к Apache IMHO. С правильной конфигурацией я уже управлял сайтом, который поддерживает ОДНОВРЕМЕННО до 70 000 человек.
Если вам действительно нужно идти дальше, то вам следует переосмыслить свою инфраструктуру и, возможно, нанять эксклюзивного специалиста в этой области (да, я полагаю, если у вас одновременно более 70 000 человек, вы можете себе это позволить).
Вот интересная ссылка: "Apache 2.2 + Nginx 0.8.53 VS Cherokee 1.0.9":
Производительность веб-сервера для статического контента (Apache, Lighty, IIS, Cherokee, Tomcat и т. Д.)
Этот другой тест отображает производительность Apache 2.4, Nginx, Lighttpd, Varnish, Litespeed и Cherokee.