2015-09-25 35 views
2

上午在插入JBPM無數事實匹配規則,一旦規則匹配我需要做適當的行動。事實的數量會很多,隨着內存JBPM 20K事實大小需要以下時間做以下的事情:JBPM 6性能的關注

Start Process - 3-4 seconds 
Insert Fact - 4+ seconds 
FireAllRules - 3-4 seconds. 

是否有人可以幫助我瞭解什麼可能導致這些延遲。

回答

0

啓動過程可以包括規則編譯,這取決於在DRL文件(多個)規則或代碼行的數目。

4+秒是由於所有的規則條件FORALL插入事實的評價。當然,這不僅取決於事實的數量,還取決於左側代碼(條件)的複雜性。沒有檢查規則,不能說4秒以上是否足夠。

您可以輕鬆地跟蹤哪些規則燒製的右手邊碼(後果)術語表示。你已經編寫了這個代碼,你可以使用一個事件監聽器很容易地監視它。如果這太慢,請檢查該代碼的功能,以及如何操作。

+0

只是一個提醒,在Drools的6,'fireAllRules()'還包括在RETE公測網絡的評估(或者我應該說PHREAK?)算法。 –

+0

@EstebanAliverti很高興知道,謝謝。然而,這意味着LHS評估和RHS執行的單獨時間不再是直截了當的(只要RHS不會混淆WM內容)。必須註冊執行規則的第一個事件,以便將測試版網絡評估與RHS執行分開,對嗎? – laune

+0

這實際上是個好問題,我沒有答案。我會再調查一下。 –