2
上午在插入JBPM無數事實匹配規則,一旦規則匹配我需要做適當的行動。事實的數量會很多,隨着內存JBPM 20K事實大小需要以下時間做以下的事情:JBPM 6性能的關注
Start Process - 3-4 seconds
Insert Fact - 4+ seconds
FireAllRules - 3-4 seconds.
是否有人可以幫助我瞭解什麼可能導致這些延遲。
上午在插入JBPM無數事實匹配規則,一旦規則匹配我需要做適當的行動。事實的數量會很多,隨着內存JBPM 20K事實大小需要以下時間做以下的事情:JBPM 6性能的關注
Start Process - 3-4 seconds
Insert Fact - 4+ seconds
FireAllRules - 3-4 seconds.
是否有人可以幫助我瞭解什麼可能導致這些延遲。
啓動過程可以包括規則編譯,這取決於在DRL文件(多個)規則或代碼行的數目。
4+秒是由於所有的規則條件FORALL插入事實的評價。當然,這不僅取決於事實的數量,還取決於左側代碼(條件)的複雜性。沒有檢查規則,不能說4秒以上是否足夠。
您可以輕鬆地跟蹤哪些規則燒製的右手邊碼(後果)術語表示。你已經編寫了這個代碼,你可以使用一個事件監聽器很容易地監視它。如果這太慢,請檢查該代碼的功能,以及如何操作。
只是一個提醒,在Drools的6,'fireAllRules()'還包括在RETE公測網絡的評估(或者我應該說PHREAK?)算法。 –
@EstebanAliverti很高興知道,謝謝。然而,這意味着LHS評估和RHS執行的單獨時間不再是直截了當的(只要RHS不會混淆WM內容)。必須註冊執行規則的第一個事件,以便將測試版網絡評估與RHS執行分開,對嗎? – laune
這實際上是個好問題,我沒有答案。我會再調查一下。 –