官方安装文档解读SAP S4 HANA架构
SAP HANA原生备份与恢复
自己攒一台SAP S4 HANA服务器硬件配置参考
BASIS模块管理
为什么SAP ECC的系统,数据库总是和SAP的应用安装在一起
SAP PI服务器,版本731 SYBASE数据库运维故障解决2粒
ERP-SAP服务器集群架构技术沿革
IBM小型机厉害的高级功能
AIX下 SYBASE 数据库无法启动解决一例
C#连接SAP HANA数据库读取数据
SAP系统性能测试
最简单可靠的机房温度电话报警
我的BasisAgent运维监控工具(一)telnet
SAP HANA原生备份与恢复
SAP官方HANA管理员手册之savepoints
HANA之列存储
甩不掉的BASIS
TCPIP 网络科普 (james-lx)
32位和64位的区别(james-lx)
对于SAP系统性能测试,可能很难做到全面的评估。我们有没有一个简单、共同的方法,得出可以参考的测试数据?
就像京东上SSD硬盘的售后评价,大家都把自己SSD跑分的数据发在上面,每个人的电脑配置都不同,
但是跑分的数据仍然可以供我们参考。
周末征求测试的方案,我问到了BASIS群和ABAP群,大家对这块有些陌生或觉得测试很难得到一个全面的评估。
周一上午,我在SAP系统中居然找到一个表DOKTL,这个表是用来存放语言包的中文描述,这个表在每一个SAP系统中几乎都是三千万行。这样,我找到了一个共同的数据环境。然后,我提供了一个小程序,从DOKTL表中读取一百万行,计算耗费的时间。我们可以用这个时间用来参考该SAP系统的性能。
对于上面测试的三套不同数据库的SAP环境,我们看到HANA用时最短。
从这点也验证了内存数据库同传统数据库的差别。群里也有人说了,oracle数据库可以优化做得更好。
我想这个横向测试是公平的,三个系统都在没有优化的情况下运行测试,我们应该尊重公平的测试数据。
虽然这只是测试了SAP系统和数据库的数据读取这块能力,但其实已经可以说明一些问题。
因为程序是透明的,测试的数据是公平的,这个程序发到BASIS群中,陆续也有很多其它公司的SAP管理员跑分出来。
从数据上,我看得有个别的HANA系统跑分同oracle相同,但是大部分HANA都是瑶瑶领先的。
其实这个可以看成是,被测试系统的整体性能,包括软硬件数据库环境。
虽然办法比较土,也不一定全面,但是这个测试基本在公平的数据环境提供了参考的依据。
----插入更新---2019.9.15 我们从sybase数据库更换为oracle的测试结果--------
------插入更新完-----------
各位BASIS或ABAP,不妨花几分钟试试你的系统跑多少?结果记得告诉我,QQ522929.
附上测试程序如下:
*&---------------------------------------------------------------------*
*& Report ZDBTEST01
*&---------------------------------------------------------------------*
*& Power by james_lx 2019.3.18
*&---------------------------------------------------------------------*
REPORT ZDBTEST01.
*请按系统实际情况填写如下信息
WRITE: /'****************************'.
WRITE: / 'SAP系统: S/4 HANA 1709'.
WRITE: /'****************************'.
WRITE: /.
DATA GT_DOKTL LIKE TABLE OF DOKTL WITH HEADER LINE.
DATA: T1 TYPE I,
T2 TYPE I,
T TYPE P DECIMALS 0.
DATA: GV_C(6) TYPE C .
DATA N TYPE I VALUE 3.
DATA ALL TYPE I.
DATA TMP TYPE I.
T = 0.
DO N TIMES.
GET RUN TIME FIELD T1.
*****************************
* Code to be tested *
*****************************
SELECT * from DOKTL INTO TABLE GT_DOKTL UP TO 1000000 ROWS.
GET RUN TIME FIELD T2.
T = ( T2 - T1 ) / 1000000.
GV_C = T.
CONDENSE GV_C NO-GAPS.
WRITE: /'对数据库中DOKTL表,取一百万条耗时:' , GV_C , '秒'.
ALL = ALL + T.
ENDDO.
TMP = ALL / N .
WRITE: /.
WRITE: / '平均耗时:',TMP,'秒'.