NServiceBus 4.0.4 Абонент очень медленный

У меня проблема с моей реализацией публикации / подписки. Я обновляю NServiceBus версии 2.6 до 4.0.4, и, насколько я понимаю из журналов, все выглядит нормально, но подписчик обрабатывает сообщения очень медленно. Я использую NServiceBus.Host.exe.

В старой реализации я настроил потоки следующим образом:

<MsmqTransportConfig 
   ErrorQueue="error" 
   NumberOfWorkerThreads="40" 
   MaxRetries="5" />

И сообщения проходят с хорошей скоростью.

В новой реализации я попытался внести изменения, необходимые для конфигураций:

<TransportConfig
    MaximumConcurrencyLevel="10"
    MaxRetries="5"
    MaximumMessageThroughputPerSecond="500"/>

Я что-то упускаю из виду?

У меня есть действующая лицензия, поэтому я должен использовать максимальное количество потоков. У меня нет RavenDB или SQL, в реализации используется MSMQ, я отключил Sagas и TimeoutManager в коде конфигурации моих подписчиков:

NServiceBus.SetLoggingLibrary.Log4Net(log4net.Config.XmlConfigurator.Configure);
Configure.Features.Disable<Sagas>();

NServiceBus.Configure.With()
   .DefaultBuilder()
   .UseTransport<Msmq>()
   .DisableTimeoutManager()
   .UnicastBus()
   .LoadMessageHandlers(); 

Я провел грубый тест, и разница в моей среде разработки такова, что версия 2.6 обрабатывает примерно 80 сообщений в секунду, а версия 4.0.4 обрабатывает примерно 8 сообщений в секунду - что на самом деле очень плохо. Так что здесь что-то не так, и я просто не могу понять, что это такое.

Редактировать: похоже, что проблема была сгенерирована из структуры нашего проекта, по какой-то причине старая версия NServiceBus не возражала против нашего структурного подхода с универсальным подписчиком, который использует MEF для загрузки реальных сборок подписчика, но новая ушла в спячку. Я изменил структуру папок, и теперь подписчик работает как задумано. Таким образом, конфигурации, которые я использовал, работали очень хорошо, но я действительно удалил MaximumMessageThroughputPerSecond из моих настроек, чтобы это не представляло проблемы в будущем, так как цель состоит в том, чтобы быть максимально быстрой.

0 ответов

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