如需有關配置階段作業持續性的指示,請參閱「Sun Java System Application Server 9.1 高可用性管理指南」中的第 9 章「配置高可用性階段作業持續性和容錯移轉」。
HADB 接收的每分鐘請求數取決於持續性頻率。持續性頻率會決定 Application Server 將 HTTP 階段作業資料儲存至 HADB 的頻率。
持續性頻率選項包括:
Web 方法 (預設值):伺服器會在每次 HTTP 回應時儲存階段作業資料。此選項可保證儲存的階段作業資訊是最新的,但其會造成 HADB 的高流量。
以時間為基礎:階段作業會依指定時間間隔儲存。此選項會降低 HADB 的流量,但不保證階段作業資訊是最新的。
下表是持續性頻率選項的優缺點摘要。
表 2–1 持續性頻率選項的比較
持續性頻率選項 |
優點 |
缺點 |
---|---|---|
Web 方法 |
保證可提供最新的階段作業資訊。 |
可能增加回應時間並降低流量。 |
以時間為基礎 |
改善回應時間,並有可能增加流量。 |
較無法保證可在應用程式伺服器實例故障之後仍能提供最新的階段作業資訊。 |
每個請求的階段作業大小取決於階段作業中所儲存的階段作業資訊量。
若要改善整體效能,請儘可能降低階段作業中的資訊量。
可透過 持續性範圍設定,微調每個請求的階段作業大小。請從 HTTP 階段作業持續性範圍的下列選項中選擇:
session:每次伺服器將階段作業資訊儲存至 HADB 時,便會序列化並儲存整個階段作業物件。
modified-session:伺服器僅會在階段作業已修改時儲存階段作業。伺服器可截取對 Bean 的 setAttribute() 方法之呼叫,以偵測有無修改。此選項不會偵側對內部物件的直接修改,因此在這類情況下,必須編寫 SFSB 程式碼以明確呼叫 setAttribute()。
modified-attribute:伺服器僅會儲存自上次儲存階段作業以來,已修改 (已插入、已更新或已刪除) 的屬性。這與 modified-session 有相同的缺點,但是若套用適當,則可大幅降低 HADB 的寫入流量需求。
若要使用此選項,應用程式必須:
在每次修改階段作業狀態時,呼叫 setAttribute() 或 removeAttribute()。
確定各屬性之間沒有交叉參照。
在多個屬性之間分布階段作業狀態,或者至少在唯讀屬性和可修改屬性之間分布階段作業狀態。
下表是持續性範圍選項的優缺點摘要。
對於 SFSB 階段作業持續性,HADB 的負載與下列項目相關:
啟用檢查點檢查的 SFSB 數目。
已選取哪些 SFSB 方法進行檢查點檢查,以及這些方法使用的頻率。
階段作業物件的大小。
哪些方法會有所異動。
檢查點檢查一般會在完成 SFSB 的任何作業事件之後發生,即使作業事件回復亦然。
如需更佳的效能,請指定一小組方法進行檢查點檢查。進行檢查點檢查的資料大小與檢查點檢查的頻率,會決定指定用戶端互動之回應時間的額外經常性耗用時間。