SAP R/3系統的應用層由應用服務器及消息服務器(Message Server)組成。
應用服務器組件如下:
工作進程(Work Process)
調度機(Dispatcher)
網關服務器(Gateway Server)
在SAP中可以設定Loading-Balance登陸,當有多個安裝實例做負載平衡,SAP組登陸需要SAP Message Server,一般SAP系統默認就具有Message Server的功能,通過3600端口通訊。SAP 登陸時會從Windows的service文件中獲取服務名稱,需要在這個文件中指定service名稱與端口映射,在%systemroot%\system32\drivers\etc\中打開文件services並在其最后加入一行:
sapmsSID 3600/tcp
與Message Server有關的事務碼SMMS(查看MS狀態), SMLG(設定登陸組):
SMMS
- 調度機(Dispatcher)
在Work Process與應用服務器的用戶之間起連接作用,每一個應用服務器中都包括一個Dispatcher,作用是接收SAP GUI的Dialog請求,並將其發給你當前處於IDLE的Work Process,同時將返回結果送回到用戶GUI進行顯示。
- 工作進程(Work Process)
- Dialog [ DIA ] : 用於執行前台&對話框程序
- Background [ BGD ] : 用於執行批處理&后台進程
- Spool [ SPO ] : 用於執行打印格式化&輸出管理,每個應用服務器至少包含一個
- Enqueue [ ENQ ] : 用於執行鎖操作,在共享內存區中管理表的鎖定,一個R/3 系統中只能有一個鎖定。因此只有一個應用服務器進行鎖定相關操作。
- Update [ UPD ] (V1/V2) : 用於異步數據庫更新
- V1 用於更新Time-Critical重要信息,V2 用於更新Non-Critical文本備注等不重要信息
- V1優先級高於V2,V1更新使用V1進程處理,V1進程名字一般為UPD,V1進程綁定獨立的數據庫進程.在V1進程中調度的更新函數如果更新失敗,回滾,不進行V2操作.成功則提交更改到數據庫,同時刪除所有的SAP鎖
- V2更新使用V2進程處理,如果沒有配置V2進程則共用V1進程,V2進程名字為UP2,V2更新在獨立DB LUW中,V2更新回滾后不會影響到V1更新提交的數據,由於V1更新結束后會刪除SAP的鎖,所以V2更新是在沒有邏輯鎖的情況下進行的,V2更新出錯后可以在SM13中重新執行
SM13
SM51
SM50
PID為進程號,可通過SM66來查看
可根據業務時間通過RZ04來調整Process的數量
RZ03 設置不同時間段的模式
合理的配置和使用Opearation Modes and Instances 在不增加系統硬件配置下,不失為性能調優的好方法。系統運行時,可以根據時間段來實現不同操作模式的切換,因為通常情況下白天用戶Dialog要多於Background,夜間則相反。
PS: 特別要注意的是模式切換后不會立即生效 , 筆者之前在做Data Archive的時候就有遇到性能問題
工作進程(Work Process)