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

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

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

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

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

1 ответ

Решение

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

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

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

Другие вопросы по тегам