Пропускная способность спрея и akka-http значительно снизилась при изменении длины ответа

Я тестирую spray и akka-http, чтобы знать возможную пропускную способность, которую я могу получить. Протестированное приложение простое. Он возвращает статический вывод по статическому пути GET. Но в случае обоих фреймворков я получаю снижение пропускной способности с ~ 64000 до ~ 22000 rps при увеличении длины статического ответа с 7 до ~ 2040 символов.

Кто-нибудь еще сталкивался с таким поведением? Как можно улучшить ситуацию?

Протестированный код можно найти здесь: суть

Он основан на тесте, описанном в этом вопросе. .

Используемые версии:

убунту 14.04, Скала 2.11.8, оракул jdk 1.8

акка-http: 2.4.11

спрей: 1.3.1 с аккой 2.3.6

Результаты тестов


person Olga Gorun    schedule 06.10.2016    source источник
comment
Вы возвращаете в 300 раз больше данных, но получаете замедление только в 3 раза. Это все еще звучит хорошо. Таким образом, вы перешли от 7*64000 = 448000 Б/с к 2040*22000 = 44880000 Б/с, что в целом все равно является значительным увеличением.   -  person jrudolph    schedule 07.10.2016
comment
Что ж, wrk показывает увеличение с ~ 9 МБ / с до ~ 11 МБ / с. Но я не вижу от AWS CloudWatch чего-то похожего на насыщение сети. Я не думаю, что сеть является моим узким местом. Я также не вижу насыщения ЦП или памяти: загрузка ЦП снижена с 80% до 60%. Память увеличена с 0,5Гб до 1,5Гб (из них 14Гб свободно в системе). Прерывания процессора существенно не увеличились. Так почему же спрей/akka-http должен обрабатывать значительно меньше запросов?   -  person Olga Gorun    schedule 07.10.2016
comment
@jrudolph, извини. Я повторил свои тесты и увидел ошибку. Пропускная способность в МБ/с увеличена с ~9 МБ/с до ~70 МБ/с. Я также добавил вариант со scalatra в набор тестов (код добавлен в ту же суть) и увидел аналогичную пропускную способность с длинным выводом. Похоже на ограничение пропускной способности сети. С другой стороны, iperf от клиента к серверу с параметрами по умолчанию дает мне ~ 88 МБ / с. Как я могу лучше проверить эту гипотезу? Результаты теста можно найти здесь   -  person Olga Gorun    schedule 08.10.2016


Ответы (1)


Похоже, это проблема с сетью.
@jrudolph спасибо, что уделили особое внимание пропускной способности сети.

person Olga Gorun    schedule 10.10.2016