Приложение ReBus показывает проблему производительности очереди сообщений в ANTS Profiler
У нас есть веб-приложение, встроенное в AngularJS, ReBus и NHibernate. Работая над оптимизацией производительности, ANTS Profiler от REDGATE показывает, что большую часть времени требуется для выполнения MessageQueue.StaleSafeReceiveMessage
И Call Graph будет выглядеть так,
Так что очередь сообщений занимает больше времени, почему наблюдается такое поведение, какие будут возможные варианты сделать это время меньше или меньше. Примечание: я не добавил код, потому что для всех сценариев только эта часть занимает 90% времени.
1 ответ
Я предполагаю, что вы наблюдаете тот факт, что рабочий поток заблокирован в течение небольшого промежутка времени, пока он ожидает следующего сообщения, которое станет доступным.
Если в очереди всегда есть сообщения, я подозреваю, что время, проведенное в StaleSafeReceiveMessage
будет сильно уменьшено.
Другими словами, я не думаю, что это вообще проблема:)