Назад | Перейти на главную страницу

Сайты нагрузочного тестирования за балансировщиком нагрузки EC2 с ApacheBench

Когда я пытаюсь загрузить тестовый сайт с балансировкой нагрузки на EC2, я получаю следующее сообщение:

ab -n 20 -c 20 http://www.somesite.com/

Benchmarking www.somesite.com (be patient)...Send request failed!
apr_socket_recv: Connection reset by peer (54)

Любые сайты, размещенные на EC2 без балансировщика нагрузки, могут быть успешно протестированы под нагрузкой, поэтому я полагаю, что это не связано с настроенной мной группой безопасности.

Блокирует ли балансировщик нагрузки AWS EC2 этот тип запросов по умолчанию? Если да, то как он различает AB и обычный HTTP-запрос на основе браузера?

Блокирует ли балансировщик нагрузки AWS EC2 этот тип запросов по умолчанию?

Не то, чтобы я знал - вы случайно бежите Mac OS X Lion? Кажется, есть обычно столкнулся ошибка Бег ab в данной версии операционной системы - согласно Исправление ошибки ApacheBench в Mac OS X Lion доступен патч (подробности см. там), хотя, вероятно, целесообразно и предпочтительнее сначала проверить наличие официального обновления, поскольку этот патч (или эквивалентное исправление) якобы тем временем был включен в версию httpd-2.3.15- бета по крайней мере (см. Исправление Apachebench в OS X Lion).

Очевидно, что вы можете сначала проверить это (и применить его в качестве обходного пути, а также в случае), запустив тот же тест в другой операционной системе (выпуске), соответственно.

Удачи!

Amazon ELB увеличивается при увеличении нагрузки. Когда у вас 5 запросов в секунду, вы используете другой балансировщик нагрузки, чем люди, выполняющие 1000 запросов в секунду. Что происходит, когда вы запускаете тесты на балансировщике нагрузки, он идет от 5 до 1000 запросов в секунду, и балансировщик нагрузки не может обрабатывать нагрузку, поэтому он будет отклонять запросы. Если вы подождете 10-15 минут, пока loadbalancer не масштабируется во время выполнения теста, вы должны заметить, что все запросы будут выполнены.

Amazon может вручную обновить балансировщик нагрузки, если вы ожидаете, что это вызовет проблемы в производственной среде. У меня есть группа балансировщика нагрузки / автоматического масштабирования, настроенная в облаке, и наш трафик может увеличиваться с нескольких сотен в секунду до нескольких тысяч в течение 1-2 часов по выходным, и мы на самом деле не наблюдаем такого поведения во время работы в реальной производственной среде мы видим это только при запуске тестов с помощью jmeter.

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

Подумайте о захвате реального запроса из вашего браузера (например, с помощью Fiddler или Firebug) и добавьте заголовки, которые вам могут понадобиться, с параметром ab -H. Вам часто нужны, например, «Host», «Accept» и «Accept-Encoding», возможно, со строкой пользовательского агента, которая выглядит реалистично.