Leo Yeh's Blog

SAS 系統管理 (53)

教學目標

初步了解如何優化 SAS 9 平台中網站應用程式伺服器的效能。

重點概念

首先 SAS 9 平台中的 Middle Tier 環境主要是提供網站應用程式伺服器執行商業分析,我們可以透過 SAS 部署精靈自動化設定 SAS 網站應用程式的叢集環境優化執行效能和提高擴展性,其中效能需求則是由交易反應時間、每秒交易數、輸出量、資源使用率、可用性、…等項目進行優化評估。然而提高擴展性的目標則是提高元件的速度、改善元件處理的效率和降低元件的負載。

接著我們除了透過叢集環境優化執行效能和提高擴展性之外,還能夠透過參數的方式進行優化,主要有五大優化方式,分別為:

  1. 優化 SAS 網站應用程式伺服器。
  2. 優化 SAS 網站應用程式。
  3. 優化 Java 虛擬機器。
  4. 優化作業系統。
  5. 優化 PostgreSQL 資料伺服器。

優化 SAS 網站應用程式伺服器

我們可以透過設定網站應用程式伺服器的參數改善效能,像是我們可以修改「SAS-configuration-directory\Levn\Web\WebAppServer\SASServer1_n\conf\server.xml」中的「maxThreads」參數設定提高執行緒池中的執行緒數,以利被用於處理請求數,建議多個應用程式伺服器皆採用相同參數值,預設值為 300,建議值為 300 ~1024。

優化 SAS 網站應用程式

我們可以透過設定網站應用程式的參數改善效能,像是我們可以修改 Visual Analytics Transport Service 中的「vat.xmlParserPoolSize」參數設定允許 XML 解釋器重複使用以利提高讀取報表時的效能,預設值為 0,建議值為 200。

優化 Java 虛擬機器

我們可以透過設定 Java 虛擬機器的參數改善效能,尤其在於記憶體使用量和垃圾回收循環等機制,目標主要最大化客戶端連線數,像是我們可以修改「SAS-configuration-directory\Levn\Web\WebAppServer\SASServer1_n\conf\wrapper.conf」中的 JVM 相關參數,請參考下表。

JVM 選項 描述 單一伺服器建議值 多個伺服器建議值
-Xms 設定最小 Heap 大小。 4096m 2048m
-Xmx 設定最大 Heap 大小。 4096m 2048m
-XX:PermSize 設定初始永久產生儲存大小。 1280m 512m
-XX:MaxPermSize 設定最大永久產生儲存大小。 1280m 512m

優化作業系統

我們可以透過設定作業系統的參數改善效能,像是我們可以修改 Linux 作業系統中 TCP/IP 相關參數。

1
2
3
4
5
$ /sbin/sysctl -w net.ipv4.tcp_fin_timeout=30
$ /sbin/sysctl -w net.core.netdev_max_backlog=3000
$ /sbin/sysctl -w net.core.somaxconn=3000
$ /sbin/sysctl -w net.ipv4.tcp_keepalive_intvl=15
$ /sbin/sysctl -w net.ipv4.tcp_keepalive_probes=5

以及修改「/etc/security/limits.conf」相關檔案,請注意不同 Linux 作業系統限制設定檔 (*.conf) 會在不同的位置,像是「/etc/security/limits.d」,以利設定 Linux 作業系統的限制,請參考下表。

網域 類型 項目 建議值
* - nproc 10240
* - stack 10240
* - nofile 20480

優化 PostgreSQL 資料伺服器

我們可以透過設定 PostgreSQL 資料伺服器相關參數,以及優化資料庫綱要設計和存取查詢,以利改善效能。

再來我們更能夠透過 SAS Environment Manager 網站服務進行監控和故障排除,像是觀察每個伺服器死結偵測、記憶體使用量、垃圾回收時間、…等指標參數。

最後當我們在部署 SAS 解決方案時皆會進行設定,其中會需要選擇伺服器大小為「小型系統」、「中型系統」或「大型系統」其差別在於參數值的設定,其中包括 -Xms 、-Xmx 、-XX:PermSize 、 -XX:MaxPermSize 、 MaxPoolSize 、MaxThreads、ThreadsPerChild、TThreadLimit、MaxKeepAliveRequest、… 等參數系統將會根據過去經驗與測驗結果提供適當的參數設定值,請注意若是部署正式環境,則會建議直接選擇「大型系統」避免浪費硬體資源。

總結我們能夠透過不同參數設定的方式優化 SAS 9 平台中網站應用程式伺服器的效能,充份利用硬體資源,達到更佳的使用者體驗。

相關概念

⬅️ Go back