绩效问题

2020-09-24 14:41发布

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

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


你好,

einer unserer报告性能-Verhalten。 Ich selektiere aus einem eigenen Infotyp einigeDatensätze。 Danach erfolgt ein Loopüberdiese interne Tabelle和jeweilige Datensatz wird verarbeitet。 犹太人和犹太人在多米尼加共和国的多米尼加共和国,多瑙河沿岸的多瑙河和鲁芬德方案都被废除。

Folgendes问题:Der ersten x Berechnungen laufen alle wunderbar schnell,nach einer unbestimmten Zeit verlangsamt sich das Antwortzeitverhalten aber eklatant。 Eine Berechnung dauert dann z.B. 400 Sekunden,独奏überden selben报导augeführtdauert die Berechnung 12 Sekunden。 Es scheint是这样,还是ob irgendwelche Puffer volllaufen? Ich hauch auch schon versucht nach jedem Datensatz ein COMMIT WORK abzusetzen,das putt aber keine Performanceverbesserung。

Hat jemand vielleicht eine Idee woran das liegenkönnte。

VieleGrüße

Stefan

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

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


你好,

einer unserer报告性能-Verhalten。 Ich selektiere aus einem eigenen Infotyp einigeDatensätze。 Danach erfolgt ein Loopüberdiese interne Tabelle和jeweilige Datensatz wird verarbeitet。 犹太人和犹太人在多米尼加共和国的多米尼加共和国,多瑙河沿岸的多瑙河和鲁芬德方案都被废除。

Folgendes问题:Der ersten x Berechnungen laufen alle wunderbar schnell,nach einer unbestimmten Zeit verlangsamt sich das Antwortzeitverhalten aber eklatant。 Eine Berechnung dauert dann z.B. 400 Sekunden,独奏überden selben报导augeführtdauert die Berechnung 12 Sekunden。 Es scheint是这样,还是ob irgendwelche Puffer volllaufen? Ich hauch auch schon versucht nach jedem Datensatz ein COMMIT WORK abzusetzen,das putt aber keine Performanceverbesserung。

Hat jemand vielleicht eine Idee woran das liegenkönnte。

VieleGrüße

Stefan

付费偷看设置
发送
5条回答
落灬小鱼
1楼-- · 2020-09-24 15:13

当它运行缓慢时,请转到SM50并进行调试。 到那时,一切都会变得清晰起来。

葫芦娃快救爷爷
2楼-- · 2020-09-24 14:49

1。 从自定义IT中选择主要数据

 SELECT * FROM pa9031到表gt_pa9031 WHERE subty ='0002'
                                               AND letzter_arb_tag GE sy-datum
                                               与s_pernr中的pernr。

   排序gt_pa9031通过pernr升序
                     AEDTM降序
                     随后下降。

   从gt_pa9031比较pernr删除相邻的副本。

2。 创建实例并获取每个表条目的数据

在gt_pa9031处分配循环。
     调用功能" RH_CLEAR_BUFFER"。

     创建对象lr_pernr
       出口
         iv_bem = p_bem
         iv_upd = p_upd。

     清除ls_data。
     lr_pernr-> recalc_data(导出is_pa9031 = 
                            导入es_data = ls_data)。

     将ls_data附加到gt_data。
     免费lr_pernr。
   ENDLOOP。

3。 通过ALV OM显示数据。

在第一个版本中,我仅创建一个实例,数据选择由该对象管理。 但这比上面的慢。

我怎么说,开始重新计算很快,但是在不稳定的时间之后,数据选择变得非常慢。

樱桃小丸子0093
3楼-- · 2020-09-24 14:53

有些事情要看:

每次输入相似的数字后会变慢吗?

使用不同的数据集是否会在同一点放慢速度? 例如。 如果您确定它减慢了8000条记录的速度,则无论排序顺序如何,都会这样做。

在快速和慢速阶段获取内存快照并进行比较。 正如Matthew所指出的那样,静态属性中可能有某些东西徘徊或积累。

哎,真难
4楼-- · 2020-09-24 15:04

recalc_data是否使用访问该类(或任何类)的任何静态属性,或者它调用了函数模块? 不会重置其全局数据吗?

一个算法可以是O(x ^ n),并且可以很好地处理例如 1万条记录,然后迅速降到该水平之上。 一切都取决于您的计算和数据结构。

昵称总是被占用
5楼-- · 2020-09-24 15:00

Thx来解答。 Recalc_data是一个实例方法。 在此方法内,仅调用其他私有方法。 我知道,很难进行代码审查。 我不知道代码完全不好,因为单次重新计算很快。 我担心由于数据选择量的原因,速度会中断。 因此,我尝试释放内存,但没有结果。 也许是缓冲区问题? 或日历问题,我们将其打开到2098年。

一周热门 更多>