Нагрузочное тестирование nginx внутри AWS
Я пытаюсь загрузить тестовый nginx, работающий на AWS. Мне нужно попытаться оптимизировать его для обработки входящего трафика 1 Гбит / с.
В настоящее время я достигаю пика в 85 Мбит / с, запустив nginx на m1.large с 4 другими машинами, используя ab с -i (для запросов заголовка) -k (keepalives) -r (игнорировать неудавшиеся запросы) -n 500000 -c 20000.
Я изо всех сил пытаюсь сгенерировать более 85 Мбит / с трафика с 4 машин, но когда я делаю scp большой файл, я получаю почти 0.25 Гбит / с трафика, проходящего по сети.
Есть ли какие-либо инструменты или подходы, которые я мог бы использовать для загрузки теста nginx, которые могли бы генерировать больше нагрузки? Меня интересует только входящий трафик, так что, возможно, инструмент DoS мог бы помочь, если бы он отбрасывал ответы?
Я использую очень маленький статический ресурс (40 байт) и достиг пика при обработке одновременных соединений 50 КБ и получении 25 000 запросов / с при использовании только одного генератора нагрузки.
2 ответа
Проверьте пчел с пулеметами https://github.com/newsapps/beeswithmachineguns
Обязательно сообщите AWS, что делаете это! Кроме того, вам следует просмотреть следующее и убедиться, что вы не расстраиваете Bezos Bit Barn. Было бы прискорбно, если бы вас лишили платформы из-за проведения теста. https://aws.amazon.com/ec2/testing/
ab отлично подходит для тестирования, однако есть и другие хорошие инструменты, которые вы также можете использовать. LoadNinja от SmartBear великолепен! В ReadyAPI есть несколько очень изящных приемов для тестирования на основе агентов. Некоторым людям очень нравится использовать JMeter от Apache...