Тяжелый стресс-тест на Apache [закрыто]

У нас есть производственный сервер, на котором запущен Apache, который иногда происходит сбой из-за слишком большой нагрузки, я пытаюсь воспроизвести ситуацию на тестовом сервере, чтобы протестировать Monit. Итак, моя цель - перегрузить Apache, чтобы вызвать сбой службы, или, по крайней мере, выполнить рендеринг сайт недоступен.

Я пытался сделать это с помощью apache AB: ab -n 100000 -c 1000 http: // webtest / , но, похоже, этого недостаточно, несмотря на / server -status / показывает, что все рабочие активны ... Есть ли более мощная альтернатива или более эффективный способ использовать ab , чтобы поставить Apache на колени?

Спасибо!

0
задан 7 January 2016 в 00:37
4 ответа

Наиболее многообещающими из бесплатных инструментов нагрузочного тестирования с открытым исходным кодом являются:

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

1
ответ дан 4 December 2019 в 16:44

Мне очень нравится использовать gor для нагрузочного тестирования. Этот инструмент позволяет мне регистрировать производственный трафик, а затем «воспроизводить» трафик в то время, когда я чувствую себя комфортно при тестировании. Это также позволяет воспроизводить трафик с разной скоростью. Например:

# Replay from file on 2x speed 
gor --input-file "requests.gor|200%" --output-http "staging.com"

Использование рабочего трафика для тестирования, безусловно, лучший метод. Если спамить вашу домашнюю страницу 500 000 раз, вы не получите надежной статистики.

- https://github.com/buger/gor

Прочтите страницу на github, чтобы получить представление обо всех доступных функциях. Удачи!

0
ответ дан 4 December 2019 в 16:44

Попробуйте использовать siege с другого сервера или серверов с разумным ЦП и сетевым подключением. Интересно, что я обнаружил, что тестирование с другого сервера может дать больше нагрузки, чем тестирование с сервера с Apache, даже несмотря на то, что было много свободного ЦП. Это с моим основным сервером экземпляр t2.micro в AWS, с большим количеством кредитов ЦП.

Убедитесь, что вы установили benchmark = false в файле конфигурации siege (прочтите документацию). Задержка между серверами является ключевым фактором, поэтому лучше всего использовать один центр обработки данных. Я использовал спотовый экземпляр AWS m3.medium со скоростью около 1 цента в час.

0
ответ дан 4 December 2019 в 16:44

Мне нравится использовать Xceptance XLT для нагрузочного тестирования.

0
ответ дан 4 December 2019 в 16:44

Теги

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