Я не в состоянии использовать параллельные потоки в моем приложении (C# приложений), поскольку каждый Msmq сообща это данные для SQL StatementКак увеличить производительность MSMQ Receive() без использования нескольких потоков
Приложение C# потребляет сообщения в msmq, а затем обрабатывает его.
Я использую msg.Recoverable = true, чтобы предотвратить потерю данных при отключении сервера. В настоящее время это транзакционное сообщение.
Сообщение MSMQ (SQL заявление) должно быть обработано в порядке, в последовательности (FIFO)
Использование нескольких потоков к потреблению является не-нет, как не в состоянии контролировать, какой поток будет потреблять и выполнять какой SQL заявление.
В настоящее время скорость приема() для сообщения msmq 490 КБ составляет около 0,016-0,032 с, что составляет около 30-50 Тх/сек, что неприемлемо.
В настоящее время, MSMQ получить является узким местом всего приложения
Сервер находится на Windows Server 2008 R2
и приложение получает (Receive()) с локального сервера MSMQ, не удаленный
Почтовый индекс. Как обрабатывать SQL-запросы? – Paparazzi
Сначала я делаю Peek, а затем выполняю sql-инструкцию, если SQL-оператор успешно выполнен, я получаю(). В настоящее время Peek() занимает 0 сек. Выполнение sql-заявки занимает 0 сек, Receive() занимает 0.016 с-0.032 сек. Очевидно, что для операторов sql они должны выполняться FIFO, (для операторов обновления) –
Код уже оптимизирован до максимального значения, в настоящее время вопрос заключается в том, как еще больше повысить производительность MSMQ Receive() –