Tibco - свойство ограничения максимального расхода
У меня есть процесс с максимальным ограничением потока. Значение устанавливается равным 10. Это асинхронный процесс, который используется для ежедневного получения тысяч сообщений. Мы заметили, что в пиковое время, с увеличением количества сообщений в очереди на сервере EMS, производительность процесса tibco снижается. Есть ли какая-либо зависимость между медлительностью в Tibco и увеличением поступления сообщений EMS. Как рассчитать точный предел потока для процесса? у нас есть стандартная процедура?
1 ответ
FlowLimit
Параметр конфигурации является параметром BusinessWorks, поэтому я предполагаю, что у вас есть механизмы BusinessWorks, которые принимают сообщения из очереди EMS.
Концепция управления потоками существует для того, чтобы число входящих событий в механизм BusinessWorks не приводило к превышению JVM имеющихся ресурсов памяти. BusinessWorks реализует управление потоком, временно отключая стартер процесса, пока количество заданий в памяти не упадет ниже порогового значения. В случае запуска процесса на основе EMS это означает закрытие MessageConsumer
, что приводит к тому, что EMS перестает доставлять сообщения процессу. В сценариях с большими объемами обмена сообщениями это приведет к задержке сообщений на сервере EMS. Кроме того, это приведет к тому, что любое сообщение в кэше предварительной выборки на стороне клиента будет переориентировано для повторной доставки на стороне сервера EMS. Когда это произойдет, вы заметите, что количество ваших исходящих сообщений больше, чем количество входящих сообщений в вашей статистике EMS.
Лучше всего избегать попадания в управляемые сценарии. Ваш текущий FlowLimit
параметр реалистичен для размера кучи, которую вы выделяете для своей JVM, и размеров полезной нагрузки сообщения, с которыми вы работаете? Можете ли вы увеличить размер кучи JVM, а также FlowLimit
? Можете ли вы запустить несколько экземпляров приложения BusinessWorks, отправляющих одну и ту же очередь, чтобы повысить масштабируемость? Подходы могут помочь вам масштабировать и избежать задержек в сообщениях.