Приложение ReBus показывает проблему с производительностью очереди сообщений в ANTS Profiler

У нас есть веб-приложение, построенное на AngularJS, ReBus и NHibernate. При работе над оптимизацией производительности профилировщик ANTS REDGATE показывает, что большая часть времени требуется для выполнения MessageQueue.StaleSafeReceiveMessage.

Снимок экрана ANTS для отображения потока выполнения

И Call Graph будет выглядеть так,

введите здесь описание изображения

Так же как очередь сообщений занимает больше времени, почему наблюдается такое поведение, какие будут возможные варианты, чтобы сделать это время меньше или около того. Примечание. Я не добавлял код, потому что для всех сценариев только эта часть занимает 90% времени.


person Constant Learner    schedule 12.05.2016    source источник


Ответы (1)


Я предполагаю, что то, что вы наблюдаете, - это тот факт, что рабочий поток БЛОКИРОВАН на небольшой промежуток времени, ожидая, пока следующее сообщение станет доступным.

Если в очереди всегда есть сообщения, я подозреваю, что время, проведенное в StaleSafeReceiveMessage, значительно сократится.

Другими словами, я не думаю, что это вообще проблема :)

person mookid8000    schedule 12.05.2016