我們一次在JBPM5中批量啓動進程(比如說100個實例)。並且該過程的每個任務都是由外部程序異步啓動和完成的。在這種情況下,JBPM引擎會花費很多時間來生成下一個任務,因此整體性能會受到影響。 (例如:平均需要45分鐘才能完成100個進程實例)請提供一種優化jbpm5引擎性能的方法。優化JBPM5引擎的性能
回答
現在它更快。通過
client.complete()
完成任務之後,我的威逼/使用命令
ksession.getWorkItemManager().completeWorkItem(id, data);
與此發動機的信令服務器產生後續的任務完成得更快,我可以能夠檢索它爲我處理。 但是,這是完成任何任務的理想方式..?
有些東西一定是錯的或配置錯誤,因爲完成100個過程實例的45分鐘看起來太多了,一般情況下每個請求通常應該大大少於一秒。但很難弄清楚什麼可能是錯的。你有更多關於你的設置的信息,以及實際上花了很多時間嗎?你在調用什麼類型的外部服務?你有沒有我們可以看到的原型?
Kris
是的,這聽起來是問題在您的域中,而不是在您的引擎。前一段時間,我們爲內存進程和數據庫持久化進程做了一些性能測試,引擎引入的延遲小於每個活動2ms(內存)和每個活動5ms(數據庫中保留)。 你究竟是怎麼打電話給引擎的,你怎麼託管它?你在做什麼樣的電話?你有沒有辦法測量你的外部服務需要多長時間來回答?
乾杯
我們正在用mysql db和jboss服務器進行測試。 – 2012-04-10 05:41:56
在後臺運行的線程將啓動並完成每個進程的任務。在mysql數據庫中,我們目睹了一次100個任務完成後,新任務生成需要時間,這就是我們懷疑引擎可能很慢的地方。 – 2012-04-10 05:50:17
它不應該。線程運行在後面什麼意思?人類應該完成這些人類任務嗎?那些線程在做什麼?看看sql日誌,看看發生了什麼..可能你正在殺死數據庫發送噸這些後臺線程的查詢。 – salaboy 2012-04-10 08:06:27
- 1. 優化性能 - 索引
- 2. 體素引擎和優化
- 3. mod_rewrite的網址,搜索引擎優化
- 4. 爲Gecko引擎優化的jQuery庫
- 5. 優化App引擎的圖像回覆
- 6. Laravel的搜索引擎優化5.4
- 7. Mysql InnoDB性能優化和索引
- 8. 優化的谷歌應用程序引擎的連接查詢性能
- 9. rsyslog性能優化
- 10. 優化docx4j性能
- 11. 優化iFrame性能
- 12. 優化Mgento性能
- 13. OpenCL性能優化
- 14. 優化Actionscript性能
- 15. 性能優化 - Postgres
- 16. XHTML和搜索引擎優化
- 17. JavaScript鏈接和搜索引擎優化?
- 18. ASP.NET - 搜索引擎優化友好?
- 19. 在asp.net中優化搜索引擎
- 20. 硬刷新和搜索引擎優化
- 21. Zend Framework搜索引擎優化
- 22. Javascript和搜索引擎優化
- 23. 平鋪引擎碰撞優化
- 24. 搜索引擎優化和商標
- 25. jQuery加載和搜索引擎優化
- 26. 如何在搜索引擎優化
- 27. 谷歌搜索引擎優化幫助
- 28. 搜索引擎優化和AngularJS
- 29. #! (hashbang)和谷歌搜索引擎優化
- 30. SQL Server優化:數據庫引擎優化顧問
示例工作流程包含8個人工任務,並且戰爭部署在運行在後臺的jboss服務器和守護程序線程中。啓動100個進程時,線程將啓動所有保留的任務,另一個線程將完成進行中的任務。所有過程的第一項任務的啓動和完成速度更快,但後續任務的生成速度更慢,並且其後花費了大量時間。 – 2012-04-10 05:33:37
現在它更快。完成任務後 client.complete() 我使用 ksession.getWorkItemManager()完成/發信號通知服務器。 與此引擎正在更快地生成後續任務,我可以找回它爲我的處理。但是,這是完成任何任務的理想方式..? – 2012-04-23 05:26:40