Рекомендации по тестированию Web-приложений под нагрузкой

Тестирование под нагрузкой (load testing) должно быть частью любого проекта разработки Web-приложения, причем его следует проводить уже на первых  реализации проекта. Однако, если вы полагаете, будто для

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

Рассмотрим такой сценарий. Вы завершаете шестимесячную разработку сложного Интернет-приложения или Web-сервиса и готовитесь к его раз­вертыванию. Вы тщательно спроектировали слабо сопряженное (loosely coupled) многоуровневое Web-npiUiomeiine, включив в его архитектуру все необходимое для обеспечения масштабируемости, стабильности и высокой производительности. Группа контроля качества тщательно протестирова­ла систему, и теперь самые серьезные ошибки устранены, а остальные реше­но считать известными, которые будут исправлены в следующей версии. Значит, развертывание должно пройти гладко, так? Подумайте еще разок.

Вы предусмотрели в процессе разработки тестирование под нагрузкой? Если нет, где-то в сложной структуре вашего приложения есть проблемы с производительностью, масштабируемостью и стабильностью. Узкими местами являются те элементы системы, которые препятствуют нормаль­ному прохождению трафика. Хорошая архитектура, конечно, очень важна, но, как показывает опыт, большинство ошибок такого рода (т. е. узкие ме­ста) можно выявить только при тестировании приложения под нагрузкой. Этих проблем не обнаружишь при тестировании системы единственным пользователем в процессе разработки. А тестирование под нагрузкой по­зволяет свести к минимуму количество неприятных сюрпризов при эксп­луатации приложения в Web.

В этой статье