|
Blogs
IntroductionComparing the runtime performance and stability of 6 kinds of mapping programms is a frequently discussed theme around Netweaver / XI.
Test ScenarioYou will find here a short description of the test environment. For more details have a look to the appendix.HardwareThe Web Application Server is running WIN 2000 OS with 2 GIG RAM using 2 CPUs with ~1 GHz.
ScenarioThe 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.
Mapping TaskThe 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 .
Test Cases
ResultsPerfomance Test
Stability Test
DiscussionIt 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:
AppendixR/3 Profil of WAS![]() ![]() Description of Error MessagesMessage Mapping:
Java (DOM)
Java (SAX)
XSL/Java
ABAP and XSL/ABAP
Grafic Message Mapping
Source Code ABAPSource Code XSLSource Code Java DOMSource Code Java SAX | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| Showing messages 1 through 13 of 13. | ||
|
|
||
| Titles Only | Main Topics | Oldest First |
Also, more complex mapping might also effect performance.
Regards,
Bill
Excellent work. Was your testing on 3.0 or 7.0? What Support Package Stack?
Your system did not have enough RAM to follow SAP's latest recommended JVM settings for a 64-bit system, so the data you collected about the largest messages you could process is actually on the low side.
Your audience might be interested to know that we recently performed similar benchmarking tests on a 64-bit system with 2GB Java heaps, and similar lack-of-optimization of the ABAP stack.
We only tested the GUI Message Mapping, and were routinely successful with 120MB message sizes in a file-to-file scenario (140MB failed). The large-message queues built-in to the system also successfully throttled the load to the Java engine to prevent out-of-memory crashes even when dozens of such messages were sent at the same time.
We tested on 7.0 SPS 12.
--Dan King
SAP NetWeaver Integration Architect, Capgemini
daniel.king@capgemini.com
Thanks for your weblog. Every XI consultant wants to know which mapping program is the best to use, but nobody knows.
Could you also do a zero test and measure how long this takes? By a zero test means a test without a mapping program.
What I do not understand is your second assumption:
"Mappings running in the Java stack are much more stabil than mappings at ABAP stack"
because you also mentioned:
"...environment wasnt optimized for the tasks especially not for mappings running in the ABAP stack"
I think the ABAP stack is more stable than Java, because the ABAP stack generates readable error messages and does not crash like the Java engine. And better configuration of the ABAP environment results in transforming bigger files on the ABAP stack.
Kind regards,
Alwin van de Put
if you're thinking about part 2
of this weblog
maybe you can also include tests
with and without BPM ? :)
to see which mappings work with BPM ?
or maybe you'd have the same results as without a BPM :)
Regards,
michal
to see it any kind of mapping
has some negative impact when done in a BPM :)
Regards,
michal
Regards,
Amol
I was very surprised - I would expect better results for XSLT under ABAP. In fact I was able to handle much bigger files.
It would be interesting to know about your system profiles because internal modes in the ABAP stack can be huge so there should be no problems. On the other hand the same problems can occur under Java because the virtual machine limits the size of the heap and of every thread.
From a theoretical point of view another experiment would be interesting. In fact your transformation was very simple so I guess you could deserialize it into a corresponding ABAP-structure and serialize it using tt:copy. In fact transforming forth and back is a little bit weird but I guess it could be faster ;-)
Regards,
Tobias
Thx for your notes. I will add a sceen shot from RZ10 to the blog.
I would embrace to have some data about your experiances. Which volume could your system handle? Which hardware did you use and how did you configure the profile?
If you send me (udo.martens@global-e-net.de) the source code for your mapping recommendation i will test it under same conditions ;)
Best Regards,
Udo
Thx for your notes. I will add a sceen shot from RZ10 to the blog.
I would embrace to have some data about your experiances. Which volume could your system handle? Which hardware did you use and how did you configure the profile?
If you send me (udo.martens@global-e-net.de) the source code for your mapping recommendation i will test it under same conditions ;)
Best Regards,
Udo
Regards,
Bhavesh
thx 4 the suggestion. Indeed it would be an interesting test, i'm thinking about extending the blog.
Regards,
Udo
| Showing messages 1 through 13 of 13. |