您当前的位置:首页 > 电脑百科 > 数据库 > 百科

SAP S/4 如何大幅提升性能

时间:2022-06-23 10:05:11  来源:  作者:葡萄簇串串

HANA(High Performance Analytic Appliance高性能分析设备)全内存数据库,2010年SAP 58亿美金收购Sybase发展而来,用列式数据存储、并行运算、内存计算等技术,极大地提高了数据处理效率,于2015年11月推出第一个ERP HANA版本SAP S/4 HANA 1511,实际使用下来在性能上相比之前版本确实大幅提升。

SAP S/4 如何大幅提升性能

 

以下图为Forrester Wave企业内存数据库分析。

SAP S/4 如何大幅提升性能

 

本文阐述版本SAP S/4 HANA1610,OP部署。

业务量剧增带来的问题

随着业务往电商方向蓬勃发展和系统的迭代,偶尔会出现系统宕机、卡顿。主要原因还是并发量大导致,SKU数量由最初的30万增加到500万,采购价格数量从200万增加到2000万,销售单数从30万单增加到770万,MRP区域行数从1500万增加到5亿,日志表当日增加量在500万条左右,同时分子公司增加十几家,主数据从MDM同步几百万条时间太长,年度调价的时候往往是几千万条价格更新,这个时候可能就会造成拥堵。

以下为SAP应用架构,优化点考虑网络、服务器、数据库、软件、日志、内存、实例等。

SAP S/4 如何大幅提升性能

 

关于SAP S/4 性能优化最好的策略是在设计中解决,而非出现问题再解决。上线后要坚持优化并关注第二象限解决方案,因为很多稳定性问题长则需要半年时间分析解决。

主要优化事项:

  • 代码持续优化,贵在坚持,不多说
  • 在云上增加灾备环境供大数据平台获取数据,由原来5个小时降低到了1个小时,同时降低主库压力
  • UPDATE压力过大,取消一些日志更新(刚开始是删CDHDR和CDPOS,发现删除数据跑不赢新增,所以在函数COND_A_WRITE_DOCUMENT改成不更新日志了,把UPDATE线程释放出来)
  • 接口模式调整,Webservers改成RFC批量传输,然后解耦走Rabbit MQ消息队列,对于几千万的MQ,消息队列也会存在消费时间过长的情况,最后改成了批量直接走HANA数据库,把几千万数据先进HANA中间表,内部通过并发模式处理,每天消费1500万问题不大,到此基本上解决了数据同步问题
  • 线程参数调优及工作负载分配(SM51查看,进程参数调优上监控了半年,结合实际情况优化了十几个版本,难点是是否有人真正长期坚持)
  • 采购、客服、计算,接口实例分开,避免相互影响
  • 代码优化要结合设计,当代码优化到一定程度,就是设计问题了,很多人觉得是代码效率问题,但是往往高手都是从设计角度去解决问题,比如在SQL取EKPO采购订单价格的时候,保存的时候更新EKPO含税和未税及总金额,你就不用在Inner join PRCD_ELEMENTS,效率极大提升
  • 数据SAP同步到外部系统,同步改异步,降低IO并发,同时保障数据一致性
  • 应用服务器新增了2个实例(04_01,05_01),分流并发业务
  • 单表容量超过最大(约21亿),要做表分区,如果是CDPOS表满了会导致所有更新操作写入不了数据库,详细查询2154870 - How-To Understanding and defining SAP HANA Limitation
  • 业务问题顾问牵头解决,代码问题研发牵头,整体解决顾问牵头,BASIS保障系统稳定性

监控+持续优化

等优化进入深水区,除了硬件、软件、操作系统的监控之外就要做业务侧的监控,如果平常业务没啥问题,偶尔出现问题,要通过监控策略把一些大报表,慢SQL,高并发的程序找出来优化,对应用服务器负载做到本质性的优化,而非头痛医头脚痛医脚,时不时还是出问题。

SAP S/4 如何大幅提升性能

 

主要优化事项:

方式1:SAP Solution Management原生监控系统,可以做到邮件报警,对BAIsis级排查和监控问题帮助较大,主要从Host、Databases、Instances、Systems监控,除了监控还有一些架构部署、缺陷纠正、请求履行等管理功能

SAP S/4 如何大幅提升性能

 

方式2:Zabbix+Grafana搭建监控系统,相对看起来比SLM直观,缺点是不能监控业务层级的报警,主要还是在操作系统,应用系统,数据库,网络

SAP S/4 如何大幅提升性能

 

方式3:阿里云原生监控系统+企业微信报警机器人,类似Grafana,监控指标会多一点,感觉界面更直观

SAP S/4 如何大幅提升性能

 

方式4:借用云厂商自带的监控系统,这个也是我们正在考虑的上云项目,借助云厂商的中间件工具监控更细的性能,比如响应时长,ABAP Dumps,Update等

SAP S/4 如何大幅提升性能

 

方式5:业务类日志监控需要自己埋点,用BI平台输出,比如监控接口的出入负责情况,整体调用占比等等,然后针对性改善

SAP S/4 如何大幅提升性能

 

提升HANA性能

HANA是内存计算、并行计算模式,对比分布式CAP原则,HANA则在Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性)综合还不错,为保证计算效率HANA会尽可能调用可用CPU并行计算以缩短所需时间,所以在OLAP领域是HANA强项。

SAP S/4 如何大幅提升性能

 

那么为什么在ERP领域还是会存在性能挑战呢,主要原因还是产品定位,ERP商务管理软件属于业务链条长数据逻辑复杂的场景,OLTP领域并发DML规模并未那么高。但是如果遇到高并发业务通信成本会飙升,高并发则会是一个挑战,这个时候最好还是从整体IT架构入手,采用模块外延更专业的应用系统承接,而不是所有业务都在ERP里面一勺烩。

SAP S/4 如何大幅提升性能

 

主要优化事项:

  • 互联网业务更多由专业系统承接,让专业的系统干专业的事,ERP聚焦本身的优势领域,如逐步上线了OA、WMS、TMS、OMS、CRM、SRM、票务、低代码等
  • 持续监控ST22 Dump,该日志较大,注意不要Dump过大撑死日志盘带着系统宕机
  • SM51 Trace 是否关闭,等于1表示开启,资源消耗还是很大
  • HANA内存由1T增加到2T,可以运行SAPLWBABAP评估HANA内存目前业务是否够用
SAP S/4 如何大幅提升性能

 

  • 我们内存增加后把大报表计算下沉到HANA,采用CDS-AMDP技术将高频程序进行重构,使用AMDP 替换原有在ABAP层逻辑的处理
  • HANA 1.0升级到2.0 利用灾备库可读(1.0不行),大数据平台获取数据由5个小时降低为1个小时,同时降低主库压力
  • 大报表SQL制定备机获取数据,减少主库压力,平常备机基本上CPU利用率不到10%,充分利用起来
  • 日志清理,很多是有标准程序可删除的,比如RSCDOK99删除修改记录,RSSNAPDL删除ST22,清理SM58处理异常数据
  • 自定义表将大表数据同步到备份表,降低对大表的频繁访问;对配置表激活Buffer,提升I/O效率
  • 做好中长期规划,系统扩展方式 Scale up和Scale out,参考1825774 - SAP Business Suite Powered by SAP HANA - Multi-Node Support
SAP S/4 如何大幅提升性能

 

关于Notes

Notes可能是解决Bug,也可能是提升性能,也有可能是增强包,这是一件细致的活,注意一点就是不要认为打Note就没风险,一定要谨慎再谨慎,我们打了几次后出现系统崩溃,立即做了回滚。使用4年一共打了168个Notes在解决系统Bug和性能,有的Notes在测试环境验证了几个月才敢往生产系统传输,千万别拿生产环境试错,否则你的代价太高。以下图为168个Notes分类。

SAP S/4 如何大幅提升性能

 

优化效果

经过一系列优化,最终解决了性能问题,单个接口效率最高提升56%,抗住了每天5000万次左右的事务性调用,同时前端用户不再卡顿,日常报表都可以查询,提升了整体的运营效率。

长期考虑

性能优化是一件长期的事,涵盖操作系统、硬件、数据库、软件、网络、业务逻辑等,更有可能牵扯IT规划,从业务层面上升到架构层面,持续监控优化,不断探索未知,因为你所能做的改变是你所已知的部分。

SAP S/4 如何大幅提升性能

 



Tags:SAP   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
WhatsApp 仅用 32 名工程师就能支持每天 500 亿条消息的八个原因
这篇文章概述了 WhatsApp 联合创始人 Jan Koum 的令人难以置信的创业故事、以及用于扩展 WhatsApp 的工程技术。想要研究其可扩展性模式的朋友不妨分享这篇文章。2008 年 1...【详细内容】
2023-10-12  Search: SAP  点击:(368)  评论:(0)  加入收藏
微软SAP甲骨文等全球软件巨头如何拥抱生成式AI?
2023年是生成式AI技术取得重大突破的一年,ChatGPT等AI工具已经走出科技公司的实验室,并迅速风靡全球。现实表明,虽然很多CIO正在谨慎地评估如何在自己的应用中使用生成式AI,但企...【详细内容】
2023-08-17  Search: SAP  点击:(297)  评论:(0)  加入收藏
WhatsApp推广竟然有这么多门道,你知道多少?
对于外贸跨境人来说,WhatsApp是必不可少的社交工具。确实,WhatsApp是一个全球性的社交平台,其在国际上的地位相当于国内的微信,而且用户体量比微信大了很多,全球月活超过20...【详细内容】
2023-03-13  Search: SAP  点击:(232)  评论:(0)  加入收藏
WhatsApp有哪些功能
WhatsApp是一款非常受欢迎的即时通讯应用程序,其提供了许多功能,包括以下几个方面:1、发送文字、语音、图片、视频和文件用户可以发送各种类型的信息和文件,包括文本、语音、照...【详细内容】
2023-03-12  Search: SAP  点击:(434)  评论:(0)  加入收藏
WhatsApp增加了代理支持,让用户在互联网被封锁时也能保持在线
布莱恩·林恩这张图片显示的是WhatsApp的标志即时通讯服务软件WhatsApp增加了一种辅助工具,该辅助工具帮助其用户在互联网遭到封锁时也能保持在线。这家由Facebook母公...【详细内容】
2023-01-18  Search: SAP  点击:(496)  评论:(0)  加入收藏
SAP 2023年的首个安全更新解决了关键漏洞
​SAP 本周宣布发布 12 个新的和更新的安全说明,作为 2023 年 1 月安全补丁日的一部分,其中包括 7 个解决严重漏洞的“热点新闻”说明。被评为“热点新闻”的安全说明中有四...【详细内容】
2023-01-13  Search: SAP  点击:(241)  评论:(0)  加入收藏
WhatsApp Business 的会话营销:权威指南
虽然相对较新,但会话营销已成为许多品牌营销策略的最前沿。您如何在与买家的 WhatsApp 沟通中实施它?以下是您需要了解的有关 WhatsApp Business 会话营销的所有信息。 在本...【详细内容】
2022-10-10  Search: SAP  点击:(404)  评论:(0)  加入收藏
WhatsApp群发官方接口号最全运营技巧指南
1、每条模板的“标题”不要有关联性,不要有重复性,可以结合文案内容写,如:文案中的单词+数字组合“标题”虽然不在发送消息中呈现,但是不代表不重要。可以按照发送内容的文案提炼...【详细内容】
2022-10-08  Search: SAP  点击:(446)  评论:(0)  加入收藏
多应用多平台支付模块-微信V2JsApi支付
此前,已设计过多应用多平模块的基础开篇。本篇,准备对接微信V2JsApi支付基础模块,并基于此模块实现具体的业务功能逻辑。开发思路如下 微信下单网络请求配置定义微信统一下单网...【详细内容】
2022-09-10  Search: SAP  点击:(338)  评论:(0)  加入收藏
如何搜索 WhatsApp 聊天消息
试图在您庞大的 WhatsApp 聊天日志中查找特定消息?有两种搜索方式,因此您可以快速找到您要查找的内容。如果您不确定对话的对象是谁,您可以从“聊天”主窗口搜索整个存档。只需...【详细内容】
2022-08-19  Search: SAP  点击:(479)  评论:(0)  加入收藏
▌简易百科推荐
向量数据库落地实践
本文基于京东内部向量数据库vearch进行实践。Vearch 是对大规模深度学习向量进行高性能相似搜索的弹性分布式系统。详见: https://github.com/vearch/zh_docs/blob/v3.3.X/do...【详细内容】
2024-04-03  京东云开发者    Tags:向量数据库   点击:(9)  评论:(0)  加入收藏
原来 SQL 函数是可以内联的!
介绍在某些情况下,SQL 函数(即指定LANGUAGE SQL)会将其函数体内联到调用它的查询中,而不是直接调用。这可以带来显著的性能提升,因为函数体可以暴露给调用查询的规划器,从而规划器...【详细内容】
2024-04-03  红石PG  微信公众号  Tags:SQL 函数   点击:(7)  评论:(0)  加入收藏
如何正确选择NoSQL数据库
译者 | 陈峻审校 | 重楼Allied Market Research最近发布的一份报告指出,业界对于NoSQL数据库的需求正在持续上升。2022年,全球NoSQL市场的销售额已达73亿美元,预计到2032年将达...【详细内容】
2024-03-28    51CTO  Tags:NoSQL   点击:(19)  评论:(0)  加入收藏
为什么数据库连接池不采用 IO 多路复用?
这是一个非常好的问题。IO多路复用被视为是非常好的性能助力器。但是一般我们在使用DB时,还是经常性采用c3p0,tomcat connection pool等技术来与DB连接,哪怕整个程序已经变成以...【详细内容】
2024-03-27  dbaplus社群    Tags:数据库连接池   点击:(19)  评论:(0)  加入收藏
八个常见的数据可视化错误以及如何避免它们
在当今以数据驱动为主导的世界里,清晰且具有洞察力的数据可视化至关重要。然而,在创建数据可视化时很容易犯错误,这可能导致对数据的错误解读。本文将探讨一些常见的糟糕数据可...【详细内容】
2024-03-26  DeepHub IMBA  微信公众号  Tags:数据可视化   点击:(11)  评论:(0)  加入收藏
到底有没有必要分库分表,如何考量的
关于是否需要进行分库分表,可以根据以下考量因素来决定: 数据量和负载:如果数据量巨大且负载压力较大,单一库单一表可能无法满足性能需求,考虑分库分表。 数据增长:预估数据增长...【详细内容】
2024-03-20  码上遇见你  微信公众号  Tags:分库分表   点击:(17)  评论:(0)  加入收藏
在 SQL 中写了 in 和 not in,技术总监说要炒了我……
WHY?IN 和 NOT IN 是比较常用的关键字,为什么要尽量避免呢?1、效率低项目中遇到这么个情况:t1表 和 t2表 都是150w条数据,600M的样子,都不算大。但是这样一句查询 ↓select *...【详细内容】
2024-03-18  dbaplus社群    Tags:SQL   点击:(11)  评论:(0)  加入收藏
应对慢SQL的致胜法宝:7大实例剖析+优化原则
大促备战,最大的隐患项之一就是慢SQL,对于服务平稳运行带来的破坏性最大,也是日常工作中经常带来整个应用抖动的最大隐患,在日常开发中如何避免出现慢SQL,出现了慢SQL应该按照什...【详细内容】
2024-03-14  京东云开发者    Tags:慢SQL   点击:(12)  评论:(0)  加入收藏
过去一年,我看到了数据库领域的十大发展趋势
作者 | 朱洁策划 | 李冬梅过去一年,行业信心跌至冰点2022 年中,红衫的一篇《适应与忍耐》的报告,对公司经营提出了预警,让各个公司保持现金流,重整团队,想办法增加盈利。这篇报告...【详细内容】
2024-03-12    InfoQ  Tags:数据库   点击:(37)  评论:(0)  加入收藏
SQL优化的七个方法,你会哪个?
一、插入数据优化 普通插入:在平时我们执行insert语句的时候,可能都是一条一条数据插入进去的,就像下面这样。INSERT INTO `department` VALUES(1, '研发部(RD)', &#39...【详细内容】
2024-03-07  程序员恰恰  微信公众号  Tags:SQL优化   点击:(22)  评论:(0)  加入收藏
站内最新
站内热门
站内头条