Udo Martens  Active Contributor Bronze: 250-499 points Integration Consultant at Management Consultancy Spring Consulting.


Comment on this articleIf you have any notes please dont hesitate to post them here or in SDN XI forum, especially when you have own test results or other experiences.
Comment on this weblog

Blogs

Comparing Performance of Mapping Programs
Udo Martens Active Contributor Bronze: 250-499 points
Business Card
Posted on Aug. 23, 2006 05:22 AM in SAP Process Integration (PI), SAP NetWeaver Platform

Subscribe.Subscribe
Print. Print
Permalink Permalink
Share

Introduction

Comparing the runtime performance and stability of 6 kinds of mapping programms is a frequently discussed theme around Netweaver / XI.
  • Message Mapping
  • Java Mapping (DOM)
  • Java Mapping (SAX)
  • XSL Styleheet in Java stack
  • ABAP Mapping (DOM)
  • XSLT running in ABAP stack
have been tested to compare capability and robustness.

Test Scenario

You will find here a short description of the test environment. For more details have a look to the appendix.

Hardware

The Web Application Server is running WIN 2000 OS with 2 GIG RAM using 2 CPUs with ~1 GHz.
System Information

Scenario

The message flow is quite simple.
The XI file adapter is reading a text file, tranfering it as XML to the Integration Engine. The corresponding mapping program will be executed and the result is routed to R/3 system via RFC adapter.
Component View

Mapping Task

The example was choosed as basic as possible. The file adapter converts 10 columns to fields f01 - f10. They are disposed in repeatable field Set . The mapping result must be understoodable by the RFC adapter, so it has to be valid for the XML schema, what was generated during import of RFC into IB Repository. Each 'Set' is now an 'item'. f01 will be mapped to FIELD1 .
Mapping Task

Test Cases

  • Performance: Sending of 80 messages (each 0,57 MB) in modus EOIO. Taking first start time and last end time. The performance was tested 3 times for each mapping program. The determined runtime is an average value.
  • Stability: Increasing the volume of single messages til appearing of runtime errors. Ambition was to find out volume of biggest success mesaage and smallest error message.

Results



Perfomance Test

Mapping Program Average Runtime in sec for 80 Msg (0,57 MB) Speed (MB/h)
Message Mapping 209 786
Java (DOM) 210 782
Java (SAX) 208 789
XSL/Java 201 817
ABAP (DOM) 281 584
XSL/ABAP 184 892


Stability Test

Mapping Program Highest Volume (MB)
Success Messages
Lowest Volume (MB)
Error Messages
Message Mapping 50,2 57
Java (DOM) 42,8 50,2
Java (SAX) 79,8 95,8
XSL/Java 57 71,3
ABAP (DOM) 6,8 8,3
XSL/ABAP 6,8 8,3

Discussion

It should be clear that these results are not representative regarding absolute performance or stability as the results are strongly dependend from hardware parameters. The environment wasnt optimized for the tasks especially not for mappings running in the ABAP stack (ABAP Profile / transaction RZ10). The processing time was taken in SXMB_MONI for the whole processing at Integration Server and not only for the mapping. Probably the mapping took the biggest part of processing time. The tests should allow following assumptions:

Appendix

R/3 Profil of WAS

RZ10
RZ10

Description of Error Messages

Message Mapping:

  • SXMB_MONI / Status: Recorded for Outbound Processing
  • SMQ2: SYSFAIL / TIME_OUT
  • ST22: TIME_OUT
    The program "????????????????????????????????????????" has exceeded the maximum permitted runtime without interruption, and has therefore been terminated.- Short Dump because ABAP Profile Parameter rdisp/max_wprun_time: 600 sec

Java (DOM)

  • SXMB_MONI / Status: Automatic Restart
  • SMQ2: execute LUW again
  • Java stack crashes and has to be restarted (SMICM)

Java (SAX)

  • SXMB_MONI / Status System Error
  • SMQ2: SYSFAIL / HTTP_RESP_STATUS_CODE_NOT_OK
  • Java stack crashes and has to be restarted (SMICM)

XSL/Java

  • SXMB_MONI / Status System Error
  • SMQ2: SYSFAIL / HTTP_RESP_STATUS_CODE_NOT_OK
  • Java stack crashes and has to be restarted (SMICM)

ABAP and XSL/ABAP

  • SXMB_MONI / Status: Recorded for Outbound Processing
  • SMQ2: SYSFAIL / Unable to fulfil request for 7339212 bytes of memory space.
  • ST22: SYSTEM_NO_ROLL

Grafic Message Mapping

Message Mapping

Source Code ABAP

Source Code XSL

Source Code Java DOM

Source Code Java SAX

Showing messages 1 through 13 of 13.

Titles Only Main Topics Oldest First

Showing messages 1 through 13 of 13.