SAP 基础知识
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)
SAP 基础知识的更多相关文章
- 【ABAP系列】SAP ABAP-模块 字符串操作基础知识
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP-模块 字符串操 ...
- .NET面试题系列[1] - .NET框架基础知识(1)
很明显,CLS是CTS的一个子集,而且是最小的子集. - 张子阳 .NET框架基础知识(1) 参考资料: http://www.tracefact.net/CLR-and-Framework/DotN ...
- RabbitMQ基础知识
RabbitMQ基础知识 一.背景 RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现.AMQP 的出现其实也是应了广大人民群众的需求,虽然 ...
- Java基础知识(壹)
写在前面的话 这篇博客,是很早之前自己的学习Java基础知识的,所记录的内容,仅仅是当时学习的一个总结随笔.现在分享出来,希望能帮助大家,如有不足的,希望大家支出. 后续会继续分享基础知识手记.希望能 ...
- selenium自动化基础知识
什么是自动化测试? 自动化测试分为:功能自动化和性能自动化 功能自动化即使用计算机通过编码的方式来替代手工测试,完成一些重复性比较高的测试,解放测试人员的测试压力.同时,如果系统有不份模块更改后,只要 ...
- [SQL] SQL 基础知识梳理(一)- 数据库与 SQL
SQL 基础知识梳理(一)- 数据库与 SQL [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5902856.html 目录 What's 数据库 ...
- [SQL] SQL 基础知识梳理(二) - 查询基础
SQL 基础知识梳理(二) - 查询基础 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5904824.html 序 这是<SQL 基础知识梳理( ...
- [SQL] SQL 基础知识梳理(三) - 聚合和排序
SQL 基础知识梳理(三) - 聚合和排序 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5926689.html 序 这是<SQL 基础知识梳理 ...
- [SQL] SQL 基础知识梳理(四) - 数据更新
SQL 基础知识梳理(四) - 数据更新 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5929786.html 序 这是<SQL 基础知识梳理( ...
随机推荐
- 模型量化原理及tflite示例
模型量化 什么是量化 模型的weights数据一般是float32的,量化即将他们转换为int8的.当然其实量化有很多种,主流是int8/fp16量化,其他的还有比如 二进制神经网络:在运行时具有二进 ...
- EntityFramework Core 3.0查询
前言 随着.NET Core 3.0的发布,EF Core 3.0也随之正式发布,关于这一块最近一段时间也没太多去关注,陆续会去对比之前版本有什么变化没有,本节我们来看下两个查询. 分组 我们知道在E ...
- 如何理解Nginx, WSGI, Flask(Django)之间的关系
如何理解Nginx, WSGI, Flask(Django)之间的关系 值得指出的是,WSGI 是一种协议,需要区分几个相近的名词: uwsgi 同 wsgi 一样也是一种协议,uWSGI服务器正是使 ...
- ASP.NET Core 中的 ObjectPool 对象重用(一)
前言 对象池是一种设计模式,一个对象池包含一组已经初始化过且可以使用的对象,而可以在有需求时创建和销毁对象.池的对象可以从池中取得对象,对其进行操作处理,并在不需要时归还给池子而非直接销毁他,他是一种 ...
- 设计模式之建造者模式--PHP
建造者模式:将一个负责对象的构建与它的表示分离,使得同样的构建过程有不同的表示.建造者模式是一步一步创建负责的对象,它允许开发者只通过指定对象的类型和内容就可以创建它们.开发者不需要知道具体的构造细节 ...
- C#使用Consul集群进行服务注册与发现
前言 我个人觉得,中间件的部署与使用是非常难记忆的:也就是说,如果两次使用中间件的时间间隔比较长,那基本上等于要重新学习使用. 所以,我觉得学习中间件的文章,越详细越好:因为,这对作者而言也是一份珍贵 ...
- 关于python中的列表遍历注意事项
在开发过程中,很容易出现以下的错误: 可以看出:假如删除列表的元素之后直接执行continue,那么遍历的时候就会落下一个元素. 那么怎么解决这个问题呢? 首先 : 我们尝试把continue去掉: ...
- FBV与CBV 及CBV源码分析
FBV与CBV 及CBV源码分析 FBV(Function Based View) 基于函数的视图 基于函数的视图,我们一直在用没啥好讲的,就是导入模块调用函数执行业务 CBV(Class Based ...
- 关于servlet报错和jsp中报关于servlet的错误
servlet-api是对servlet的支持,如果你导入别人的项目后出现servlet中的导包处出现关于javax.servlet.的错误,那么就是缺少这个包了.还有对jsp页面中的报错的支持. 下 ...
- 顺序表-C语言实现
顺序存储线性表的结构体: #define MAXSIZE 100 //数组最大长度 typedef int ElemType; //元素类型 typedef struct //定义线性表结构体 { E ...