Веб-сервер с низкой задержкой / балансировщик нагрузки для не-твиттеров мира - PullRequest
2 голосов
/ 29 декабря 2011

Apache httpd хорошо справлялся со мной на протяжении многих лет, просто превосходный и высокопроизводительный в устаревшем пользовательском приложении стека LAMP, которое я поддерживал (читай: пытаясь сбежать)

Мои дни в стеке LAMP сочтены, и я перехожу в удивительный мир полиглота:

1) Scala REST framework on Jetty 8 (on the fence between Spray & Scalatra)
2) Load balancer/Static file server: Apache Httpd, Nginx, or ?
3) MySQL via ScalaQuery
4) Client-side: jQuery, Backbone, 320 & up or Twitter Bootstrap

Вариант № 2 находится в центре внимания этого вопроса. Тесты, которые я видел, показывают, что Nginx, Lighthttpd, G-WAN (в частности) и друзья отбрасывают Apache с точки зрения производительности, но этот сдвиг, кажется, проявляется больше в сценариях с высокой нагрузкой, когда веб-сервер обрабатывает много одновременных соединений. , Учитывая, что наш сервер имеет максимальную пропускную способность 100 ГБ в месяц и средняя нагрузка составляет около 0,10, сценарий высокой нагрузки явно не работает.

В основном мне нужно, чтобы соединение с сервером приложений (Jetty) и статическая доставка файлов веб-сервером были надежными и быстрыми. Наконец, веб-сервер должен выполнять двойную функцию балансировки нагрузки для сервера приложений (SSL не требуется, сервер живет за ASA). Я не уверен, насколько быстро Apache Httpd сравнивается с альтернативами, но это проверенное программное обеспечение, протестированное на дороге.

Итак, если я перейду с Nginx или другой альтернативой Apache, будет ли какая-либо разница с точки зрения видимой производительности? Я предполагаю, что нет, но в интересах достижения почти мгновенной загрузки страницы, поставив вопрос там; -)

Ответы [ 2 ]

3 голосов
/ 14 октября 2012

Если я перейду с Nginx или другой альтернативой Apache, будет ли какая-либо разница с точки зрения видимой производительности?

Да, в основном с точки зрения задержки.

По мнению Google (который может что-то знать или знать о задержке), задержка важна как для пользовательского опыта, высокого рейтинга в поисковых системах, так и для выживания при высоких нагрузках (успех, детишки сценариев, реальные атаки и т. Д.) .

Но масштабирование на многоядерных процессорах и / или использование меньшего количества ОЗУ и ресурсов ЦП не может повредить - и это цель этих альтернатив веб-сервера.

Тесты, которые я видел, показывают, что Nginx, Lighthttpd, G-WAN (в частности) и друзья отбрасывают Apache с точки зрения производительности, но этот сдвиг, кажется, проявляется больше в сценариях с высокой нагрузкой, когда веб-сервер обрабатывает много одновременных подключений

Тесты показывают, что даже при небольшом количестве клиентов некоторые серверы работают быстрее других: здесь сравниваются Apache 2.4, Nginx, Lighttpd, Varnish, Litespeed, Cherokee и G-WAN .

Поскольку этот тест был проведен кем-то независимым от авторов этих серверов, эти тесты (выполненные с использованием виртуализации и 1,2,4,8 ядер ЦП) имеют четкое значение.

0 голосов
/ 08 марта 2012

Там будет огромная разница.Nginx вытирает слово с помощью Apache для всего, что превышает 0 одновременно работающих пользователей.Это при условии, что вы все правильно настроили.Посмотрите следующие ссылки для некоторой помощи, чтобы погрузиться в это.

http://wiki.nginx.org/Main

http://michael.lustfield.net/content/dummies-guide-nginx

http://blog.martinfjordvald.com/2010/07/nginx-primer/

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

Apache заявил, что apache 2.4 будет иметь такую ​​же хорошую или лучшую производительность, как nginx.Они сделали смелое заявление, призывая nginx, и когда они сделали этот релиз, он как бы укусил их в задницу.Конечно, они ближе, но nginx по-прежнему вытирает пол практически в каждом тесте.

...