一
前言
之前釋出一篇檔案介紹了限制BW EXCEL報表登陸的行為,控制使用者的等會最大會話數,最大終端數,最大佔用記憶體數。
詳見連結
無峰,公眾號:ABAP 技巧與實戰SAP工具箱 增強限制BW EXCEL使用者登陸行為
實際上,ECC/S4系統也有類似的控制需求。
ECC/S4系統如果出現使用者大量登入,大量開啟會話視窗,執行多個大量查詢明細的報表。 系統性能也會急劇下降,甚至出現卡頓(使用者點選一個按鈕,系統半天不響應使用者的動作)。
本文主要介紹透過增強限制ECC/S4系統的使用者登入和執行TCODE方式,避免使用者佔用過多的系統資源
給這個增強起了一個高大上的名字:
伺服器資源消耗管控
二
登陸控制引數
login/server_logon_restriction
該引數可以控制使用者不能重複登入SAP系統,再加上每次登入只能開啟6個會話的限制。 基本上控制了使用者的登入行為。
圖一是該引數的幫助文件
圖二是配置該引數後(需要重啟伺服器),使用者重複登陸的介面限制(丟失了一個允許同時登陸的選項)。
透過設定該引數,基本上可以控制使用者佔用的資源數。但是如果使用者在6個會話中都開啟消耗資源極大的報表。 該引數無法控制使用者的該行為。
圖一
圖二
三
記憶體控制引數
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限制方式:禁止登陸與禁止執行事務程式碼的組合
02
登入增強位置
登陸增強 EXIT_SAPLSUSF_001
SMOD條目: SUSR0001 登陸到 SAP 系統後的使用者出口
登入時檢查使用者資源使用情況,如果超出,報錯。
實現效果如圖
03
事務程式碼呼叫增強
呼叫TCODE增強: 增強位置 SFW_GET_SWITCHPOS 函式開頭隱式增強
輸入TCODE 後, 如果檢查超過了使用者允許的資源, 報錯。
實現效果如圖
五
增強VS標準引數
標準引數僅控制了登入行為(固定控制為1次登入,6個會話)。 增強則可以靈活的為使用者設定允許的登入終端數,及會話數
標準引數一旦設定,多人無法共同使用一個賬號。 增強則可以靈活的管控,特定賬號允許多終端,多會話數登入。
標準引數無法根據使用者控制記憶體使用。 增強則可以為不同的使用者控制記憶體使用情況。 使用者在一個會話中可以超出允許的記憶體(不影響當前執行的事務程式碼)。 但是如果使用者佔用的記憶體超出限制後, 使用者將無法開啟新的事務程式碼。
標準引數如果要控制記憶體使用, 則必須透過相應的記憶體控制引數(如圖三),控制記憶體的使用。這些引數對所有使用者生效, 無法指定使用者或使用者組控制。
圖三
01
總結
透過增強限制ECC/S4的登入行為,可以有效地控制使用者佔用過多的資源,確保伺服器資源不會被特定的使用者消耗太多。 同時可以強制使用者及時釋放佔用的資源(因為不釋放將無法啟動新的事務程式碼)。
可以靈活的為不同組/不同使用者制定不同的資源分配策略。 更加有效的管理伺服器資源。