AWS APIGateway WebSockets API возвращает 429 - PullRequest
0 голосов
/ 11 апреля 2020

Я выполняю нагрузочное тестирование службы WebSocket, которую я сегодня развернул на AWS APIGateway, используя инструмент под названием Thor . Служба использует обработчики сообщений на основе Lambda и упакована и развернута через Serverless Framework в Python3 .8. Идентификаторы соединения хранятся в DynamoDB.

Мой AWS уровень газа на уровне учетной записи в настоящее время составляет 10000 запросов / секунду, а пакеты - на 5000.

Я получаю следующие результаты для 2000 одновременных соединения с 1 сообщением на соединение:

Online               4353 milliseconds
Time taken           4353 milliseconds
Connected            1826
Disconnected         0
Failed               174
Total transferred    549.23kB
Total received       420.84kB

Durations (ms):

                     min     mean     stddev  median max
Handshaking          840     1629        666    1448 3383
Latency              103     198         150     155 859

Percentile (ms):

                      50%     66%     75%     80%     90%     95%     98%     98%    100%
Handshaking          1448    1930    2178    2297    2497    2641    3311    3336    3383
Latency              155     163     167     172     194     665     785     798     859

Received errors:

174x                 unexpected server response (429)

Понятно, что запросы в этот момент регулируются. Я хочу знать, каким должен быть предел регулирования уровня моего аккаунта для поддержки 20 000 одновременных подключений WebSocket. Иногда я также вижу 500 ошибки в результатах, которые я не могу отладить из журналов.

Дайте мне знать, если для ответа требуется дополнительная информация.

1 Ответ

2 голосов
/ 19 апреля 2020

Существует ограничение в 500 соединений WebSocket в секунду на API-шлюзе. Проверьте здесь: https://docs.aws.amazon.com/apigateway/latest/developerguide/limits.html

Возможно, вы выходите за эти пределы.

...