OkHttp3 Отладка задержки сети с помощью прослушивателей событий — событие ConnectionReleasedJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 OkHttp3 Отладка задержки сети с помощью прослушивателей событий — событие ConnectionReleased

Сообщение Anonymous »


Мое приложение Java 8 использует OkHttp3 для выполнения N HTTP-вызовов к конечной точке. Предположим, что в очереди есть некоторая работа, и несколько потоков M выходят из очереди, анализируют работу и запускают HTTP-вызовы. Около 40% первоначальных вызовов передаются конечной точке, и приложение получает ответ. Затем приложение начинает получать таймауты. Я включил ведение журнала через прослушиватели событий и получил эти 2 образца
Успешный звонок
12:51:25.833 [pool-1-thread-28] INFO callStart: 76089: time=0 для id=974745017410 12:51:25.833 [pool-1-thread-28] INFO ConnectionAcquired: 76177: time=0 для id=974745017410 12:51:25.833 [pool-1-thread-28] INFO requestHeadersStart: 76178: time=0 для id=974745017410 12:51:25.833 [pool-1-thread-28] INFO requestHeadersEnd: 76178: time=0 для id=974745017410 12:51:25.833 [pool-1-thread-28] INFO requestBodyStart: 76178: time=0 для id=974745017410 12:51:25.833 [pool-1-thread-28] INFO requestBodyEnd: 76178: time=0 для id=974745017410 12:51:26.137 [pool-1-thread-28] INFO responseBodyStart: 74586: time=304 для id=974745017410 12:51:26.137 [pool-1-thread-28] INFO responseBodyEnd: 74586: time=0 для id=974745017410 12:51:26.137 [pool-1-thread-28] INFO-соединениеReleased: 76177: time=0 для id=974745017410 12:51:26.137 [pool-1-thread-28] INFO callEnd: 74586: time=0 для id=974745017410 Здесь мы видим, что все события были напечатаны, а задержка сетевого вызова составила 304 мс
Время ожидания истекло
12:51:16.134 [pool-1-thread-55] INFO callStart: 76088: time=0 для id=258173443243 12:51:16.134 [pool-1-thread-55] INFO ConnectionAcquired: 76176: time=0 для id=258173443243 12:51:16.134 [pool-1-thread-55] INFO requestHeadersStart: 76177: time=0 для id=258173443243 12:51:16.134 [pool-1-thread-55] INFO requestHeadersEnd: 76177: time=0 для id=258173443243 12:51:16.134 [pool-1-thread-55] INFO requestBodyStart: 76177: time=0 для id=258173443243 12:51:16.134 [pool-1-thread-55] INFO requestBodyEnd: 76177: time=0 для id=258173443243 12:51:26.134 [pool-1-thread-55] INFO-соединениеReleased: 76176: time=10000 для id=258173443243 Недостаточно документации по событию ConnectionReleased и тому, что оно обозначает.
[*]Я пытаюсь понять, что такое событие ConnectionReleased. [*]В вызове с истекшим временем ожидания я вижу, что responseBodyStart и responseBodyEnd отсутствуют. а. Означает ли это, что сервер так и не вернул ответ. б. Есть ли какие-то другие события, которые нужно найти, если клиент был просто перегружен для чтения ответа от сервера?
Я использую OkHttp3 версии 4.9.2. Считайте сервер бесконечно масштабируемым. Он возвращает ошибку превышения ограничения скорости, когда больше не может обрабатывать запросы. Мое приложение отправляет только 15% запросов, которые сервер может обработать

Я попытался настроить собственный пул соединений с maxIdleConnections столько же потоков, сколько использует приложение, но столкнулся с той же проблемой
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»