Как сравнить настройку apache/nginx

Я планирую настроить nginx в качестве обратного прокси. У меня будет apache для доставки моего динамического контента, а nginx будет доставлять статический контент.

Моя конфигурация сейчас — это просто Apache с fastCGI. Это не дает мне проблем с конфигурацией и отлично работает.

После того, как я настроил nginx, я хочу запустить несколько тестов, чтобы увидеть, действительно ли я получил некоторое увеличение производительности, иначе я переключусь обратно.

Кто-нибудь знает, как я могу сравнить этот тип установки? Или, может быть, кто-то уже сделал это и имеет некоторые консервированные результаты, я буду рад их услышать.

PS. Я знаю, что это скорее вопрос о сбое сервера, но я видел множество сообщений об apache и nginx, поэтому решил попробовать


person Saif Bechan    schedule 27.03.2010    source источник


Ответы (4)


Лучшее решение? Осада.

Более точный инструмент сравнительного анализа, чем ab

person Jon L.    schedule 07.09.2010

Несколько вещей:

  1. Не используйте аб. Он однопоточный, и вы, вероятно, в конечном итоге будете сравнивать ab, а не свой HTTP-сервер.

  2. Не запускайте какой-либо стресс-инструмент, который вы используете, в той же системе, что и сервер. HTTP-сервер будет конкурировать с инструментом за процессор и другие ресурсы. Плюс идеализированная версия сети localhost не дает полной картины (см. пункт 4).

  3. Обратите внимание на загрузку памяти и процессора во время тестов. Многие люди никогда не учитывают этот фактор. Даже если обе установки работают одинаково, если одна из них использует часть ОЗУ/ЦП, то у вас есть победитель.

  4. RPS — не единственная значимая метрика. Такие вещи, как медленные клиенты (смартфоны 3G, перегруженные сети, медленные ПК), могут иметь явно негативное влияние на многопоточные серверы. Идеализированная лабораторная установка (локальный хост или изолированный коммутатор) не отражает этого.

  5. Ваш сценарий FCGI будет узким местом для любого сервера. Я бы предложил использовать инструмент, который может извлекать несколько ресурсов (в идеале всю страницу, включая статический контент), чтобы вы могли получить полную картину времени загрузки страницы.

Вы можете рассмотреть возможность использования одного из «облачных» инструментов тестирования, таких как browsermob.com или loadimpact.com.

person cliff.wells    schedule 24.06.2012

одно слово: ab

person Javier    schedule 27.03.2010
comment
Спасибо за простой ответ. Я никогда не знал, что у apache есть такой инструмент. Будет ли этот инструмент давать мне только результаты тестов для apache. Или это также будет отражать изменения nginx, которые я внес в настройку. - person Saif Bechan; 27.03.2010
comment
он просто выполняет http-запросы, это простой способ сравнить любой http-сервер. - person Javier; 27.03.2010
comment
ab -k -n 10000 -c 50 url.to/test Это может проверить внешний интерфейс/статические страницы или переходы к apache для вашего динамического контента. Другой вариант — http://www.acme.com/software/http_load/, который позволяет указать список URL-адресов. протестировать против. ab — эталон с несколько ограниченной полезностью, но вы можете, по крайней мере, получить от него некоторые общие идеи. - person ; 27.03.2010
comment
Спасибо вам, ребята. Четкий ответ именно то, что я искал! - person Saif Bechan; 27.03.2010

http://curl-loader.sourceforge.net/

немного сложнее настроить, но работает отлично

person mighq    schedule 29.07.2013