| formula.queue.maxage |
小時 |
24 |
是 |
保留表示式佇列歷程的小時數上限。僅會刪改已執行的表示式。
此動作將使用公式來完成。 |
保留已執行項目是為了用於表示式統計資料(),以及檢查評估迴圈。評估迴圈時,可能會在高傳輸量設定中降低此數字,以減小表格大小。 |
| formula.queue.maxsize |
項目 |
500000 |
是 |
表示式佇列中的項目數上限。清理作業將透過刪改歷程,使項目計數低於此數字。僅會刪改已執行的表示式。
此值將會置換 maxage 設定。 |
為了獲得更佳效能,可能會調整此數字,以便在高負載期間減小佇列歷程大小,除此之外則儲存歷程。此數字的理想近似值,是略低於 maxage 期間的平均傳輸量。 |
| formula.execution.batch.size |
項目 |
30 |
是 |
在每輪配置中,為一個執行緒配置的表示式佇列項目數。在配置新批次之前,這些項目會標示為「已啟動」,且執行緒已執行並已完成。 |
在數個節點上的數個執行緒中,表示式會同步並行執行,但一律會以具有相依關係的時間順序執行。如果佇列中的兩個表示式互不相關,則其執行順序可能會不同於其新增順序。某些表示式項目可能會相依於另一個項目的值。如果在執行表示式之前,並未執行該項目實例(表示式項目相依於其值),則可能不會執行此表示式項目。
這種情況以及並行性,要求配置避免衝突、不一致的順序及冗餘工作。配置的費用比較高,因此會根據上述需求以及按給定順序執行的條件,同時配置數個表示式。如果配置大量表示式,則會節省配置費用,但會「鎖定」並行性,反之亦然。一般規則是在表示式形成較長相依關係鏈時減小此數字,而在相依關係鏈較短或相依關係較少時增加此數字。
您可以在執行時期變更此值,因此應該持續調整此值,直至找到適當的最佳值。小於 10 或超過 200 的值,一般都不是最佳值。 |
| formula.cleanup.interval |
毫秒 |
1800000 |
否 |
清理表示式佇列的頻率。此時會強制施行 maxage 及 maxsize 設定。僅會執行佇列刪改。第一次清理是在伺服器啟動時,此時會執行特殊維護。此外,每兩週會執行一次計時器表示式完整性檢查(在晚上)。 |
預設值通常是合理的。
如果傳輸量較高,清理需要較長時間,應該更加頻繁地執行清理,反之亦然。因此,請謹防將此時間增加過多,因為如果負載突然大幅增加(例如在匯入或新增屬性後),這會導致執行暫停或效能欠佳。 |
| formula.background.interval |
毫秒 |
10000 |
否 |
檢查表示式佇列中等待執行的未配置新表示式的頻率。當某個批次完成時,便會立即執行新的檢查,而不會等待此間隔時間。
如果佇列在到達下一個間隔時仍未「完成」,則會產生一個新的工作程式執行緒,以加倍提高處理能力。 |
在舊版 Rational® Focal Point™ 中,採用的是非同步即時執行方式。將表示式移至資料庫時,這難免會造成死鎖的危險。
這是檢查表示式佇列中是否有要執行的新表示式的間隔,也就是使用者必須等待表示式執行完畢的時間上限(加上執行時間)。如果此間隔太短,則僅會不必要地耗用資源。這也會影響並行性的遞增:如果在前一個間隔內啟動的工作程式執行緒,在該間隔內未完成,則還會啟動另一個執行緒(直到 thread.per.nodes)。如果遞增速度緩慢,您可以降低此數字。如果很少使用表示式,則可略微增加此數字。 |
| formula.max.background.threads.per.node |
計數 |
2 |
否 |
為每個節點執行表示式的並行執行緒數目上限。實際數目上限將會動態地取決於應用程式執行緒儲存區中是否有可用的執行緒。 |
如果有更多的工作需要完成,則在 background.interval 中所述的並行性遞增,將會增加每個間隔內節點上的表示式評估執行緒數目。請注意,此數字為上限。這需要應用程式執行緒儲存區中存在可用的執行緒,而可用的執行緒會根據核心數目(虛擬或其他)自動調整。它還會限制為不耗用儲存區中的最後一個執行緒。您可以試用此數字,因為它不會中斷任何作業。但並不保證能獲得更佳效能,因為它主要取決於資料庫能否保持相應的並行性能力。如果佇列中經常有未評估的表示式,則表示此值過低。 |
| formula.cleanup.enabled |
布林 |
true |
是 |
依預設會啟用表示式佇列清理。除了要進行除錯或在執行效能測量時必須取消清理以外,切勿停用佇列清理。 |
此設定不需要調整,請將其保留為預設值 "true",切勿變更。 |