Как оценить производительность веб-серверов?

OpenID хорош, если все сайты используют его. Но зарегистрироваться к OpenID только для использования ОДНОГО сайта это немного слишком много. Регистрация к OpenID не так проста как непосредственно регистрирующийся в сайте (с потребительской точки зрения).

5
задан Dominic Rodger 17 September 2009 в 09:06
поделиться

3 ответа

Такие инструменты, как ab , обычно используются для проверки того, какую нагрузку вы можете выдержать от одновременной обработки запросов, наряду с cacti / munin / ваш инструмент мониторинга системы или выбор, вы можете генерировать данные о загрузке системы и запросах в секунду. Проблема в том, что многие люди, проводящие сравнительный анализ, не понимают, что им нужно запрашивать много разных запросов, по мере выполнения различных частей вашего кода это займет разное количество времени. Также важны не запросы, а профилирование и тестирование кода, для чего многие люди уже сделали это для django , Benchrun тоже неплохой инструмент.

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

Что касается общей скорости веб-серверов, само собой разумеется, что прокси-сервер (работающий в обратном направлении на вашем конце) всегда будет работать быстрее, чем веб-сервер со статическим контентом. Что касается Apache против nginx в отношении вашего приложения django, кажется, что mod_python действительно быстрее, чем nginx / lighty + FastCGI, но это не удивительно, потому что CGI, независимо от каких-либо ускорений, все еще медленный. Выполнение и кэширование кода на веб-сервере и предоставление ему возможности управлять им всегда происходит быстрее (mod_perl против использования CGI, mod_php против CGI и т. Д.), Если вы все делаете правильно.

3
ответ дан 14 December 2019 в 13:41
поделиться

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

Вы затем необходимо использовать среду нагрузочного тестирования, например The Grinder (бесплатно), чтобы смоделировать одновременное использование вашего сайта множеством пользователей.

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

В остальном речь идет только об изменении контента и времени отклика мониторинга, пропускной способности, использовании памяти и ЦП и т. Д., Чтобы увидеть, как они меняются в зависимости от того, какой веб-сервер вы используете и какой тип контента вы размещаете.

1
ответ дан 14 December 2019 в 13:41
поделиться

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

2
ответ дан 14 December 2019 в 13:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: