2012-04-09 3 views
0

Мы запускаем процессы навалом (например, 100 экземпляров) в JBPM5 за раз. И каждая задача процесса запускается и завершается внешними программами асинхронно. В этом случае механизм JBPM занимает много времени, чтобы сгенерировать следующую задачу, и, таким образом, общая производительность будет затронута. (например: его в среднем 45 минут для завершения 100 экземпляров процесса). Просьба предложить способ оптимизации производительности движка jbpm5.Оптимизация производительности двигателя JBPM5

ответ

0

Теперь его быстрее. После завершения задания по

client.complete() 

Я намекая/сигнализацию сервера с помощью команды

ksession.getWorkItemManager().completeWorkItem(id, data); 

с этим двигателем, генерируя последующие задачи быстрее и я мог бы в состоянии получить его для моей обработки , Но это идеальный способ выполнения любых задач ..?

0

Что-то должно быть неправильно или неправильно сконфигурировано, так как 45 минут для завершения 100 экземпляров процесса кажутся слишком большими, каждый запрос в общем случае должен принимать значительно меньше секунды в обычных случаях. Но сложно понять, что может быть неправильным. У вас есть дополнительная информация о вашей настройке и о том, что на самом деле занимает много времени? Какие типы внешних служб вы используете? Есть ли у вас прототип, на который мы можем смотреть?

Kris

+0

Образец рабочего процесса содержит 8 человеческих задач, а война развернута в потоках сервера jboss и daemon, работающих в фоновом режиме. В запуске 100 процессов поток запускает все зарезервированные задачи, а другой поток завершает задачи inprogress. Начало и завершение первой задачи всего процесса происходит быстрее, но генерация более поздних задач медленнее и, следовательно, занимает много времени. –

+0

Теперь его быстрее. По завершении задания на client.complete() Я заставляю/сигнализирую серверу ksession.getWorkItemManager(). CompleteWorkItem (id, data); с этим движок быстрее генерирует последующие задачи, и я мог бы получить его для моей обработки. Но является ли это идеальным способом выполнения каких-либо задач ..? –

0

Да, это звучит как проблема в вашем домене, а не в двигателе. Некоторое время назад мы выполняли некоторые тесты производительности в процессах памяти и для процессов с сохранением БД, а латентность, введенная движком, была меньше, чем 2 мс на активность (в памяти) и 5 ​​мс на активность (сохранялась в базе данных). Как именно вы называете двигатель, как вы его принимаете? какие звонки вы делаете? Есть ли у вас способ определить, сколько времени требуется на ваши внешние службы?

Cheers

+0

Мы тестируем сервер mysql db и jboss. –

+0

Темы, запущенные в фоновом режиме, запускаются и выполняются задачи каждого процесса. В mysql db мы были свидетелями того, что после завершения 100 задач новое поколение задач требует времени, и именно там мы подозревали, что двигатель может быть медленным. –

+0

Не следует. Что вы имеете в виду с Threads Running in the back? Предполагается, что люди должны закончить эти Человеческие Задачи? Что это за темы? взгляните на журналы sql, чтобы узнать, что происходит. Возможно, вы убиваете базу данных, отправляющую тонны запросов с этими фоновыми потоками. – salaboy

Смежные вопросы