О 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 г.

См. также:

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

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

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

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