О web-разработке
и даже немного больше...

Тестирование сайта под нагрузкой

testirovaniya-saita-pod-nagruzkoiНе секрет что чем больше посещаемость вашего сайта, тем более становиться актуальным вопрос отказоустойчивости вашего проекта. Дело в том, что на начальных этапах способность переносить высокие нагрузки, у сайта едва ли заметны, и в этот момент бывает жизненно важно проводить тесты, и планировать масштабирования проекта. Вникать во все особенности и тонкости процедуры тестирования у вас займет некоторое время, и, как правило, времени бывает ограниченное количество. Поэтому давайте посмотрим, как же можно провести нагрузочные тесты на проект, и оценить устойчивость сайта к нагрузкам, если это хочется это сделать просто и быстро.

На самом деле инструментов для тестирования довольно много, в том числе и различные онлайн сервисы. Для наших задач вполне подойдет Apache Benchmark, который, обычно идет вместе с веб-сервером Apache.

Утилита выполняется в консоли, соответственно, чтобы воспользоваться ею, у вас должен быть доступ к ней. Вызов её происходит таким образом:

ab -n 1000 -c 10 "https://href.kz/blog/apache/"

Тестирование проводиться поэтапно. Вы меняете число одновременных соединений (параметр –c 10), а так же общее количество запросов (параметр –n 1000), и до того момента, пока сайт не начнет «загибаться». Тестирование лучше запускать с другой машины, это позволит более эффективно оценить производительность системы.

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

Существуют и другие инструменты, богатые по функционалу, такие как Apache JMeter, а так же Tsung. Apache JMeter является программой с графическим интерфейсом, Tsung работает в консоли. Из ряда крутых фишек можно отметить способность генерировать нагрузку с нескольких машин, а так же имеют встроенные прокси для записи пользовательских сессий, а так же позволяют задавать скорость клиентского соединения. В некоторых случаях медленные соединения клиентов могут создавать дополнительные проблемы с производительностью. Таким образом, можно оценить влияние того-же самого nginx.

Оценить производительность сервера в целом извне можно, однако для выявления факторов, влияющие на производительность, к примеру, медленные запросы, или ресурсоемкий код, вам необходимо так же параллельно производить мониторинг на стороне сервера. При тестировании наблюдайте за нагрузки за ресурсами сервера, процессор, жесткий диск, нагрузка на сервер mysql и т. д.

Опубликован: 06.07.2015 г.

См. также:

Преимущества и недостатки веб-серверов Nginx и Apache
Как включить сжатие GZip в Nginx?
Подробнее о логах в Apache
Ротация логов в Linux
Denwer в локальной сети
HTTP авторизация
Просмотр списка загруженных модулей Apache
httpd грузит процессор, что делать?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Комментарии
  • Загрузка...
Друзья сайта