SAP工具箱 伺服器資源消耗管控

前言

之前釋出一篇檔案介紹了限制BW EXCEL報表登陸的行為,控制使用者的等會最大會話數,最大終端數,最大佔用記憶體數。

詳見連結

無峰,公眾號:ABAP 技巧與實戰SAP工具箱 增強限制BW EXCEL使用者登陸行為

實際上,ECC/S4系統也有類似的控制需求。

ECC/S4系統如果出現使用者大量登入,大量開啟會話視窗,執行多個大量查詢明細的報表。 系統性能也會急劇下降,甚至出現卡頓(使用者點選一個按鈕,系統半天不響應使用者的動作)。

本文主要介紹透過增強限制ECC/S4系統的使用者登入和執行TCODE方式,避免使用者佔用過多的系統資源

給這個增強起了一個高大上的名字:

伺服器資源消耗管控

登陸控制引數

login/server_logon_restriction

該引數可以控制使用者不能重複登入SAP系統,再加上每次登入只能開啟6個會話的限制。 基本上控制了使用者的登入行為。

圖一是該引數的幫助文件

圖二是配置該引數後(需要重啟伺服器),使用者重複登陸的介面限制(丟失了一個允許同時登陸的選項)。

透過設定該引數,基本上可以控制使用者佔用的資源數。但是如果使用者在6個會話中都開啟消耗資源極大的報表。 該引數無法控制使用者的該行為。

SAP工具箱 伺服器資源消耗管控

圖一

SAP工具箱 伺服器資源消耗管控

圖二

記憶體控制引數

ztta/roll_extension

em/initial_size_mb

abap/heap_area_total

abap/heap_area_dia

abap/heap_area_nondia

abap/heaplimit

具體的引數含義移步事務程式碼RZ11 輸入引數名稱後檢視。

增強控制

增強控制使用者登陸行為

01

配置表

UNAME              使用者名稱/使用者組(允許為空,表示所有使用者),可以基於使用者或使用者組控制, 如果維護一個空使用者,則表示所有賬號,優先順序 使用者>使用者組>空使用者

ALLOW_SESSIONS同時允許的會話數

ALLOW_IPS        同時登陸的IP地址數

ALLOW_MEMORYS允許的記憶體(M)

LIMIT_METHOD限制方式:禁止登陸與禁止執行事務程式碼的組合

SAP工具箱 伺服器資源消耗管控

SAP工具箱 伺服器資源消耗管控

02

登入增強位置

登陸增強 EXIT_SAPLSUSF_001

SMOD條目: SUSR0001      登陸到 SAP 系統後的使用者出口

登入時檢查使用者資源使用情況,如果超出,報錯。

實現效果如圖

SAP工具箱 伺服器資源消耗管控

03

事務程式碼呼叫增強

呼叫TCODE增強:  增強位置 SFW_GET_SWITCHPOS 函式開頭隱式增強

輸入TCODE 後, 如果檢查超過了使用者允許的資源, 報錯。

實現效果如圖

SAP工具箱 伺服器資源消耗管控

增強VS標準引數

標準引數僅控制了登入行為(固定控制為1次登入,6個會話)。 增強則可以靈活的為使用者設定允許的登入終端數,及會話數

標準引數一旦設定,多人無法共同使用一個賬號。 增強則可以靈活的管控,特定賬號允許多終端,多會話數登入。

標準引數無法根據使用者控制記憶體使用。 增強則可以為不同的使用者控制記憶體使用情況。 使用者在一個會話中可以超出允許的記憶體(不影響當前執行的事務程式碼)。 但是如果使用者佔用的記憶體超出限制後, 使用者將無法開啟新的事務程式碼。

標準引數如果要控制記憶體使用, 則必須透過相應的記憶體控制引數(如圖三),控制記憶體的使用。這些引數對所有使用者生效, 無法指定使用者或使用者組控制。

SAP工具箱 伺服器資源消耗管控

圖三

01

總結

透過增強限制ECC/S4的登入行為,可以有效地控制使用者佔用過多的資源,確保伺服器資源不會被特定的使用者消耗太多。 同時可以強制使用者及時釋放佔用的資源(因為不釋放將無法啟動新的事務程式碼)。

可以靈活的為不同組/不同使用者制定不同的資源分配策略。 更加有效的管理伺服器資源。