Leo Yeh's Blog

SAS 系統管理 (78)

教學目標

初步了解 SAS 系統稽核記錄檔導致效能問題的基本概念。

重點概念

首先 SAS 平台預設將會啟動稽核的功能,主要是當使用者操作 SAS 網站應用程式時將操作記錄寫入至 Web Infrastructure Platform 資料伺服器中的 SharedServices 資料庫中的 SAS Audit 資料表。

接著隨著時間增加導致 SAS Audit 資料表到達無法進行管理的大小時,將可能會對 SAS 網站應用程式伺服器中有關 Java 虛擬機器 (JVM) 的效能和可用性產生負面影響,發生的情況分別為:

  1. SAS 網站應用程式伺服器可能會定期停止回應或可能會定期失敗。
  2. SAS 網站應用程式伺服器無法正常啟動。
  3. SAS 網站應用程式伺服器自動重新啟動。
  4. SAS 網站應用程式伺服器啟動時間越來越長。
  5. SAS 網站應用程式使用異常大量的 CPU。

若有上述情況發生將會導致我們無法正常使用 SAS 網站應用程式,主要原因為當 SASServer1_1 網站應用程式初始化時,會將 SAS_AUDIT 和 SAS_AUDIT_ENTRY 相關資料表載入至記憶體中,因此當這些資料表記錄增加時,就有可能會達到 SASServer1_1 的 JVM 無法處理的管理大小,此時當應用程式嘗試讀取這些資料表時,則 JVM 將會導致失敗,至於資料表的大小何時達到問題點主要取決於機器和 JVM 的規格。此外若我們的系在沒有重新啟動的情況下執行兩週,那麼我們的 SAS_AUDIT 資料表將會達到難以管理的大小。

再來要如何解決此問題,主要會先透過腳本刪除舊的稽核記錄,並且關閉 SAS 網站應用程式伺服器調整 JVM 中的最大 Heap 大小,我們主要是修改「D:\SAS\Config\Lev1\Web\WebAppServer\SASServerX_m\conf\wrapper.conf」的設定檔,當我們完成上述設定之後,建議也先清除「D:\SAS\Config\Lev1\Web\WebAppServer\SASServerX_m\logs」記錄檔和「D:\SAS\Config\Lev1\Web\WebAppServer\SASServerX_m\tmp」暫存檔,當確認設定和刪除完成就能夠重新啟動 SAS 網站應用程式伺服器。

最後我們若能夠定義清除 SAS Audit 資料表中的記錄,以利使得這些資料表保持能夠管理的大小,至於如何進行管理請參考官方文件。但是若業務單位需要有稽核的相關記錄,則能夠增加 JVM 中的 Heap 大小降低問題發生的機率,於如何進行設定請參考官方文件

總結只要是系統運作一段時間皆會有效能的問題,此時我們需要透過記錄來追蹤可能的原因,但往往也因為記錄而導致效能問題,尤其在現今非常注重資訊安全的大環境,身份授權和稽核記錄皆會是必要的管控機制,也因此需要透過設定與效能之間達到平衡,至於要如何設定將會是一門深奧學問。

相關資源

⬅️ Go back