Я использую сервер веб-сокетов Java на сервере AWS. Чтобы отправить сообщение клиентам (в моем случае это другой сервер AWS, которым я владею в другом регионе), я использую одно из следующих действий:
// this
javax.websocket.Session.getAsyncRemote().sendText("")
// or this
javax.websocket.Session.getBasicRemote().sendText("")
Оба они занимают около 400us
для отправки небольшая строка для одного клиента, даже если общее количество сообщений очень мало и узких мест нет.
Это большая проблема, особенно в периоды высокой производительности, потому что узкие места становятся проблемой.
Во-первых, я что-то делаю неправильно из-за такого длительного времени отправки или этого следовало ожидать? Во-вторых, как смягчить это и создать что-то, что может отправлять сообщения с высокой пропускной способностью?