Как измерить выгоду от виртуального потока?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как измерить выгоду от виртуального потока?

Сообщение Anonymous »

Я перенес приложение с Java 17 на Java 21 и включил для него виртуальный поток.
Подробности о микросервисе:
  • < li>20 запросов в секунду в контейнере.
  • Масштабирование включено для этого сервиса. Каждый раз, когда средняя загрузка ЦП достигает 30 %, запускается новый контейнер.
  • Обычно для этой службы работает 50 контейнеров.
  • Без виртуального потока используется один контейнер каждую минуту на платформе выполняется в среднем 2,5 тыс. потоков.
  • Мы используем в этой службе сервер GRPC.
  • Детали запроса:

    Один запрос, который находится в потоке платформы, обычно использует 6-7 параллельных потоков платформы для извлечения данных из разных источников данных (I/O).
  • Мы преобразовали более поздние 6–7 потоков платформы в виртуальные потоки с помощью ExecutorService.
  • Мы не можем переместить запрос пользователя в виртуальный поток, поскольку сервер grcp его не поддерживает. >

Когда мы запустим работу, я вижу, что в более ранней системе было 2,5 тыс. активных веток на платформе. в среднем. Сейчас сократилось до 200. Но кроме этого никакой другой пользы не наблюдаю.
Что думал, то и буду наблюдать

[*]Увеличение пропускной способности каждого контейнера.
[*]Количество используемых контейнеров должно было сократиться, поскольку теперь меньше переключается контекст из-за менее активных потоков платформы.
< /ul>
Я не вижу никакой выгоды, кроме уменьшения количества потоков платформы.
Чего мне не хватает?
Какие еще параметры мне следует проверить, какие покажут улучшения?

Подробнее здесь: https://stackoverflow.com/questions/786 ... ual-thread
Ответить

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

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

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

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

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