多服务器环境中的共享缓冲区资源不可用问题

2020-08-19 08:54发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家们, 我们有一个程序来处理...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家们,

我们有一个程序来处理数据(数据大小约100,000条记录(或更多)),并在并行过程中为每个记录进行FI过账,我们需要允许这些过账直到上限 金额达到后,一旦所有过帐的累计金额达到上限金额,则应停止所有后续过帐。

这里的挑战是,我们拥有多服务器生产环境,程序会根据服务器上资源的可用性在应用服务器上分布这些并行过程,由于这些多服务器使跟踪累计数量变得越来越困难 而不会增加性能。

最初,我们想到了跟踪数据库表中的累积量,但是这里的问题是,当某个进程试图更新数据库表时,所有其余进程都必须等待DB表才能更新。 可用于读/写,这将导致很多性能问题,因此我们不希望采用这种方式。

导出到数据库类似的问题-在执行COMMIT之前,其他进程将无法使用数据,这将再次导致性能问题。

我们想尝试共享缓冲区,因为它更快,但是共享缓冲区特定于Application Server,因此我们将累积逻辑放入RFC中,并且始终将RFC定向到 我们在TVARV中维护的特定的指定应用服务器。

以下是我们目前使用此方法所面临的问题

1.当我们与BASIS团队一起审查此解决方案时,出于以下原因,他们不能依靠一台服务器

a)他们对一台特定的指定服务器不满意,因为该服务器可能由于各种原因有时会关闭,

他们的建议是,确定哪个服务器具有可用资源并利用该服务器。 这将对我们不起作用,因为我们最终将在不同服务器上累计金额,这将给我们带来不正确的结果。

2。 由于所有并行进程都试图访问共享缓冲区的特定服务器,因此在PE测试期间,我们发现服务器中的某些资源不可用异常。

这是我们目前面临的两个主要挑战,请提供您对如何解决/克服这些问题的看法/建议。

4条回答
小c菟菟
2020-08-19 09:09

Sandra Rossi 谢谢您的投入,

只是想了解您的答复,每个FI帖子大约要等待10毫秒,所以100,000帖子的等待时间将是100万毫秒-> 1000 s,大约是16分钟,如果我的理解错了,请纠正我。 我知道这是100,000条记录的最坏情况。

这里很少担心,

1)累积/比较逻辑在增强中,我的理解是更新表,并在此处写入COMMIT并不是一个好主意,因为它关闭了当前的LUW。 发布完成后,我想立即提交。

2)要添加更多有关该问题的详细信息,我已经在问题中提到,我们需要允许过帐直到金额上限,该上限是针对不同参数(例如公司代码,工作细目分类)的组合设置的 结构元素等..因此,表最终将增长,我不确定10毫秒是否仍然有效。

3)我正在对此进行频繁的数据库表更新,不确定是否建议这样做。

一周热门 更多>