Sun Java System Application Server 9.1 部署規劃指南

第 4 章 部署的檢核清單

本附錄提供檢核清單,讓使用者開始評估 Application Server 以及用於生產。

部署的檢核清單

表 4–1 檢核清單

元件/功能

說明 

應用程式

決定部署應用程式所需符合的下列需求。 

硬體

作業系統

網路基礎架構

  • 找出單點故障並加以解決。

  • 務必正確配置 NIC 與其他網路元件。

  • 執行 ttcp 基準測試以判斷流量是否符合需求/預期的結果。

  • 根據您的喜好來設定 rsh/ssh,以正確安裝 HADB 節點。

    如需更多資訊,請參閱「Sun Java System Application Server 9.1 Installation Guide」

後端與其他外部資料來源

向網域專家或廠商確認,以確定可適當地配置這些資料來源。 

系統變更/配置

  • 務必先完成對 /etc/system 與其在 Linux 上對應項目的變更,再執行任何效能/壓力測試。

  • 務必完成對 TCP/IP 設定的變更。

  • 依預設,系統隨附許多預先配置的服務。並非所有服務皆須執行。請關閉不需要的服務以節省系統資源。

  • 在 Solaris 上,使用 Setoolkit 決定系統的運作方式。解決所有顯示的旗標。

    如需更多資訊,請參閱「Sun Java System Application Server 9.1 Performance Tuning Guide」

Application Server 與 HADB 安裝

HADB 配置

Application Server 配置

  • 記錄:啟用自動重建存取記錄。

  • 選擇適當的記錄層級。通常會使用「警告」。

  • 使用管理主控台配置 J2EE 容器。

  • 使用管理主控台配置 HTTP 偵聽程式。

  • 使用管理主控台配置 ORB 執行緒池。

  • 若使用與原生碼相關的 Type2 驅動程式或呼叫,請務必於 LD_LIBRARY_PATH 中指定 mtmalloc.so。

  • 務必使用適當的持續性範圍與頻率,且未在個別 Web/EJB 模組中遭到覆寫。

  • 確定僅會針對 SFSB 中的重要方法進行檢查點檢查。

    如需有關調校的更多資訊,請參閱「Sun Java System Application Server 9.1 Performance Tuning Guide」

    如需有關配置的更多資訊,請參閱「Sun Java System Application Server 9.1 管理指南」

負載平衡器配置

Java 虛擬機器配置

  • 一開始設定的最小與最大堆疊大小須相同,且每個實例至少要有 1 GB。

  • 如需更多資訊,請參閱 Java Hotspot VM Options

  • 執行多個應用程式伺服器實例時,請考慮建立處理器組,並連結至 Application Server。這有助於使用 CMS 控制器清除舊版。

配置負載平衡器中的逾時

  • Response-time-out-in-seconds - 宣告應用程式伺服器實例運作不正常之前,負載平衡器所等候的時間。根據應用程式的回應時間設定此值。如果設定太高,Web 伺服器與負載平衡器外掛程式會等候很久,才會判定應用程式伺服器實例運作不正常。如果設定太低且 Application Server 的回應時間超過此臨界值,則會誤判實例運作不正常。

  • Interval-in-seconds - 以秒為單位的時間間隔,於此時間之後會檢查運作不正常的實例是否已回到正常狀態。值若太低會在負載平衡器外掛程式與應用程式伺服器實例之間產生多餘的流量;值若太高則會延遲請求路由至恢復正常實例的時間。

  • Timeout-in-seconds - 運作狀態檢查請求取得回應的持續時間。請根據叢集中系統間的流量調整此值,以確保運作狀態檢查成功。

    如需更多資訊,請參閱「Sun Java System Application Server 9.1 高可用性管理指南」中的第 5 章「配置 HTTP 負載平衡」

配置 HADB 中的逾時

  • sql_client_timeout - SQLSUB 等候閒置用戶端的時間。例如,已登入、傳送一些請求,然後等候使用者輸入的用戶端。閒置超過 30 分鐘的用戶端會視為停用,且會終止階段作業。設定太低的值會過早終止 SQL 階段作業。設定太高的值會導致未閒置但已結束的 SQL 階段作業佔用資源,進而使其他 SQL 用戶端無法登入。調校此變數時,另請考慮 nsessions 的設定。如果 HADB JDBC 連線池 steady-pool-size 大於 max-pool-size,則可將 idle-timeout-in-seconds 設定得比 sql_client_timeout 低,使 Application Server 本身在 HADB 關閉連線之前,就先關閉連線。預設值為 1800 秒。

  • lock_timeout - 作業事件等候存取資料的最長時間 (以毫秒為單位)。超過此時間,作業事件會產生錯誤訊息:「The transaction timed out. (作業事件逾時。)」這類逾時是由於作業事件等候其他作業事件已保留的鎖定 (死結) 所致,並會導致伺服器大量負載。請勿將此值設定低於 500 毫秒。如果在伺服器記錄中看到「transaction timed out (作業事件逾時)」訊息,請加大此值。將特性如下增加至 HADB 的 JDBC 連線池,以設定鎖定逾時值:<property name=lockTimeout value="x"\>。預設值為 5000 毫秒。

  • Querytimeout - HADB 等候查詢執行的最長時間 (以毫秒為單位)。若伺服器記錄不斷表示查詢逾時的異常情況,請考慮加大此值。將下列特性增加至 HADB 的 JDBC 連線池,以設定此值:<property name=QueryTimeout value="x"\>。預設值為 30 秒。

  • loginTimeout - 用戶端等候登入 HADB 的最長時間 (以秒為單位)。將下列特性增加至 HADB 的 JDBC 連線池,以設定此值:<property name=loginTimeout value="x"\>。預設值為 10 秒。

  • MaxTransIdle - 作業事件傳送回覆給用戶端到收到下一個請求之間,可閒置的最長時間 (以毫秒為單位)。如下所示,您可將特性增加至 HADB 的 JDBC 連線池以變更此值:<property name=maxtransIdle value="x"\>。預設值為 40 秒。

    如需更多資訊,請參閱:「Sun Java System Application Server Performance Tuning Guide」。

配置 Application Server 中的逾時

  • Max-wait-time-millis - 丟出異常前,為了從池取得連線而等候的時間。預設值為 6 秒。若有高負載系統持續保留大於 50 KB 的資料,請考慮變更此值。

  • Cache-idle-timeout-in-seconds - 在 EJB 鈍化之前,允許 EJB 於快取中閒置的時間 。僅會套用至實體 Bean 與有狀態的階段作業 Bean。

  • Removal-timeout-in-seconds - EJB 維持鈍化 (在備份儲存庫中閒置) 的時間。預設值為 60 分鐘。請根據 SFSB 容錯移轉的需求調整此值。

請根據 HADB 的 JDBC 連線池設定 max-wait-time-in-millis,調整全部的值。如需更多資訊,請參閱「Sun Java System Application Server 9.1 高可用性管理指南」中的「配置 JDBC 連線池」

調校 VM 資源回收 (GC)

資源回收暫停四秒或更長時間時,可能會導致在持續階段作業狀態至 HADB 時,發生斷斷續續的問題。若要避免此問題,請調校 VM 堆疊。若不接受保留資料有一絲一毫的錯誤,或系統尚未裝配完整,請使用 CMS 控制器或流量控制器。 

增加下列語法可啟用這些控制器: 

<jvm-options>-XX:+UseConcMarkSweepGC</jvm-options>

此選項可降低流量。