Самый быстрый веб-сервер для обслуживания статического контента


12

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

Из трех основных кандидатов, которых я рассмотрел, Nginx, Cherokee и Lighttpd, у каждого, похоже, есть свои проблемы - но отчеты, которые я читал в Интернете, несколько предвзяты и ориентированы на тот сервер, который в данный момент использует пользователь.

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

Спасибо

Изменить: Serverfault.com дал ответ как nginx. Я все еще хотел бы услышать некоторые мысли разработчиков из этого конца вселенной.


1
@Swader: Пожалуйста, не перепечатывайте. Обычно этот вопрос автоматически переносится туда, когда он получает достаточно близких голосов (5). Наличие двух одинаковых вопросов затрудняет поиск единого и окончательного источника ответов.
Кэмерон

Ответы:


12

Несколько дополнительных ссылок и комментариев:

  • Недавно был проведен сравнительный анализ Nginx, Apache, Varnish и GWan для обслуживания 100-байтовых статических файлов.
  • На сайте Cherokee есть несколько тестов сравнения Nginx и Lighttpd.
  • Дополнительные ссылки: один , два , три , четыре , пять
  • Имейте в виду, что типичные тесты имеют узкую полосу действия, особенно при такой большой частоте запросов. Например, первый эталонный тест подойдет, если все, что вы обслуживаете, это файлы размером 100 байт, но результаты могут значительно отличаться, если вы используете 1 КБ, 10 КБ или диапазон статических размеров файлов. Многие опубликованные тесты также имеют проблему, заключающуюся в том, что автор имеет хороший опыт работы только с одним из продуктов, что означает, что он имеет очень хорошую конфигурацию, а не с другими продуктами, что означает, что они имеют неоптимальную или даже плохую конфигурацию, которая будет искажена результаты.
  • При такой большой частоте запросов будет много вещей, которые могут повлиять на результаты тестов. Не только конфигурация веб-сервера, но и конфигурация ОС и самого оборудования. Например, использование SSD-накопителя может увеличить частоту запросов, но может работать с веб-сервером X лучше, чем Y.
  • Не просто смотрите на максимальные показатели запросов из тестов, но также учитывайте среднее и минимальное значения. Например, посмотрите на результаты Apache по первой ссылке на эталонный тест.
  • Лучший эталонный тест - это тот, который вы делаете сами, используя файлы, которые вы обслуживаете на оборудовании, которое вы используете. Даже быстрые тесты могут выявить проблемы и эффекты, не очевидные из других опубликованных результатов.
  • При таком масштабе действительно будет иметь значение, если вы можете обслуживать 15 000 или 20 000 запросов в секунду? Например, для файла 1,7 Кбайт в 20 кр / с потребуется около 100 Тб пропускной способности в месяц. Для суммы денег, что пропускная способность будет стоить, чтобы купить другой сервер (или 10), будет сравнительно дешевым. Я бы не стал выбирать, по какому серверу выдает наибольшее «число», но также подумал, насколько легко его настроить / использовать, соответствует ли он требуемому набору функций, хорошо ли он поддерживается и т. Д.

Лично я использовал Lighttpd в течение многих лет и не мог быть счастливее с ним. Я на самом деле удивлен тем, что он показал результат по сравнению с Nginx в результатах теста Cherokee.


Прекрасные вещи, очень полезные, большое спасибо.
Swader

G-WAN действительно очень быстрый. Эта ссылка тоже интересная. kristianlyng.wordpress.com/2011/03/16/… Лак кажется очень хорошим при высокой нагрузке.
Мэтт

1

Журнал LinuxFormat (выпуск 142, март 2011 г.) включает тесты Apache, Cherokee, Lighttpd и Nginx. Cherokee - самый быстрый, более чем в 2 раза по сравнению с Apache и на 20% быстрее, чем Nginx.


Спасибо! Просто прочитайте статью, и, хотя обидно, что только последний абзац содержит действительно полезную информацию, тем не менее, это очень ценный тест!
Swader

1

Если это чисто статический контент, тогда вам просто необходим большой кеш перед реальным веб-сервером, я использую ZXTM Zeus, но есть много других вариантов.


В моем случае речь идет о десятках гигабайт материалов во всех формах - от крошечных изображений до больших флеш-документов. Я считаю, что кеширования здесь будет недостаточно. Мне нужно повысить скорость обслуживания, поэтому мы настраиваем статический контент-сервер. Стоимость не проблема. Спасибо, что ZXTM звучит интересно, взгляну на это.
Swader

Звучит очень похоже на нашу настройку, у нас есть несколько гигабайт статического звука, и эти zxtms отлично справляются со своей работой, они 64-битные, поэтому мы просто вставляем 192 ГБ памяти в каждую и все это делается из ОЗУ.
Chopper3

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

1

Я не читал эту статью - похоже, он не в сети, его разыскал, что привело меня сюда - но только просмотр одного графика, который Альваро разместил в своем блоге, заставляет задуматься, почему этот формат Linux бенчмарк был наклонен против серверов, отличных от чероки. Это случилось с номерами версий серверов, и что-то показалось мне странным, поэтому я провел небольшое исследование:

Server   | Tested (Released)   | Current (Released)
---------+---------------------+--------------------
Apache   | 2.2.14 (2009-10-05) | 2.2.17 (2010-10-19)
Cherokee | 1.0.15 (2010-12-29) | 1.0.15 (2010-12-29)
Lighttpd | 1.4.26 (2010-02-07) | 1.4.28 (2010-10-22)
Nginx    | 0.7.65 (2010-02-01) | 0.8.54 (2010-12-14)

Новая версия Cherokee была выставлена ​​против более старых, а в некоторых случаях гораздо более старых версий других серверов. Поэтому я бы не стал придавать слишком большого значения результатам, тем более что наиболее конкурентоспособный сервер, Nginx, выпускал основную версию со времени тестируемой версии.


Это чрезвычайно полезное понимание.
Swader

0

посмотри на

http://www.acme.com/software/thttpd/

PayPal использует его для обслуживания статического контента.


1
Спасибо, я мог бы разобраться в этом, но я невероятно предвзят и предвзят к людям, которые занимаются «программным обеспечением» и не могут быть обеспокоены тем, чтобы создать достойный сайт. Похоже, что он застрял в 1992 году и никогда не обновляется. Кроме того, они никогда не сравнивали его с лучшими конкурентами, о которых я упоминал. Интересно, найду ли я где-нибудь достойное сравнение ...
Swader
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.