您好,登錄后才能下訂單哦!
如何分析SAP內存優化配置,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
SAP應用系統為三層:SAP GUI、SAP應用服務器、SAP數據服務器
本次我們主要針對SAP應用服務器進行內容優化配置; SAP應用服務器架構主要由Dispatcher、Work Process兩部分組成,其中Work Process又包括了有Dialog:前臺操作、Update:異步數據更新、Background:后臺任務、Enqueue:用于加鎖與同步、Spool:用于打印。
SAP應用服務器對于內存的使用:
1. User Context
–user-specific area: user and authorization data
–session context: 每個前臺用戶可以有6個Session
2. Variables
3. Internal Tables
4 什么是內存切換?
為什么要進行內存切換?所有的前臺操作都是由一批有限數量的后臺Dialog進程進行服務的
一個Dialog進程可能需要同時服務多個前臺進程
一個Dialog進程是如何為多個前臺會話服務的?
每一個前臺操作,是由一系列Transaction Step組成
每個Transaction Step是SAP ABAP程序獨立運行的最小單位
每個Transaction Step作為一個Dialog運行請求被提交給Dispatcher
Dispacher將任務指派給某個Dialog進程去處理
所以,Dialog進程需要在處理每個Transaction Step前后切換User Context
5 進入PRIV模式:直到當前的Transaction結束
進入PRIV模式的進程的自動終結
PRIV模式進程個數超過Max(rdisp/wppriv_max_no-5, 1)
進入PRIV模式時間超過rdisp/max_priv_time(default=600s)
非Dialog進程不受影響
Dialog進程如何分配內存
6 最佳優化實踐-左右為難
多分配一些內存給數據庫可以提高數據訪問速度,但是過多也會造成操作系統Page in/out過多,而降低性能
Roll Area過大,內存復制的開銷會很大,過小則容易使非Dialog進程進入PRIV模式
Extended Memory應設得大一些,以避免Dialog進程進入PRIV模式,但太大了容易造成過多的操作系統Page in/out
Dialog進程設得多一些可以提高前臺響應速度,但過多又太浪費內存
7 最佳優化實踐-優化方法
數據庫訪問通常不會成為瓶頸,因此可以少分配內存給它;而且,當我們合理地設置了操作系統Cache時,與數據庫本身Cache的性能區別不大
ztta/roll_first應該設得小一些,以使得Dialog進程盡量使用Extended Memory, ztta/roll_area也無需太大,以節省每個進程所占用的內存
Extended Memory應該設得較大,以避免進入PRIV模式,但又保證系統使用內存總量(扣除OS Cache)不超過物理內存太多
Dialog進程數量應經過一個階段的試用而定,主要是保證最大隊列長度不太大
abap/heaplimit設為一個大小適中的值,可以少占內存
abap/buffersize無需設得過大,只要沒有明顯受到影響即可
關于如何分析SAP內存優化配置問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。