EventLop vert.x медленно потребляет из EventBus - PullRequest
0 голосов
/ 21 декабря 2018

Мы опрашиваем сообщения от kafka (используя Executor Thread) и помещаем его в файл событий vert.x.в конце концов, статьи (не работающие), потребляющие эти сообщения из шины событий.

мы измерили, что время, которое требуется каждому сообщению, которое будет использовано из шины событий vertx после того, как оно было отправлено, может достигать 4 секунд на пиках,

по какой-то причине иногда требуется, чтобы Eventbus долго потреблял сообщения, но не показывает ошибку блока потока, поэтому мы не можем сказать, что задерживает

странная вещь, что мы не видим никаких предупреждений блока цикла событий,Что еще мы можем сделать?процессор / баран все хорошо.единственная метрика, которая действительно может что-то показать, это то, что:

enter image description here

, но она ничего не говорит нам (не знаю, как обработчики событий могут быть связаны с задержкой события)

что мы проверим, чтобы понять, что делает потребление в EventLop из EventBus vert.x медленным?

1 Ответ

0 голосов
/ 29 декабря 2018

Вы должны попытаться измерить объем данных, которые вы отправляете через шину событий, на временной шкале и объем данных, полученных по каждой вертикалке через одну и ту же шину событий.Это может выделить проблему узкого места.

Может быть, вам стоит взглянуть на метрики jmx, предоставленные vertx-dropwizard-metrics project .Это может быть полезно для вычисления этих временных шкал.

Вам также может быть интересно взглянуть на Java APM, например glowroot , например, чтобы лучше понять, что не так.

...