Kai Sachs (TU Darmstadt) Supervisors: Christof Bornhoevd (SAP) Mariano Cilia (TU Darmstadt) Evaluation of performance aspects of the Auto-ID Infrastructure CONTENTS Auto-ID Infrastructure Measurement Approach Results of the Experiments Final Conclusions Auto-ID Infrastructure Measurement Approach Results of the Experiments Final Conclusions AII: Overview (1) SAP Auto-ID Infrastructure 2.0 (AII) Middleware solution Receiving RFID data from data capture sources (e.g. RFID devices) Integrates the data into enterprise applications. Early prototype AII: Overview (2) The illustration below shows an overview of SAP RFID landscape: Device Controller Reader RFID Tags SAP Auto-ID Infrastructure (AII) SAP Exchange Infrastructure (XI) SAP R/3 Backend AII LLI XML/PML XML IDoc Auto-ID Cockpit (Web User Interface) Traffic Generator Traffic Generator From: SAP RFID Solution Package SAP Auto-ID Infrastructure 2.0 (AII) Theory Auto-ID Node System Architecture XML TG Message Dispatcher Activities Rule Engine AIN Repository From: SAP Auto-ID Infrastructure XML Integration Layer (XI) XML Auto-ID Node Communication Layer DC Communication Layer Auto-ID Cockpit IDoc BE IDoc BE CONTENTS Auto-ID Infrastructure Measurement Approach Results of the Experiments Final Conclusions Test Environment What should be observed? Experiments settings Multiple readers Message size Customized Traffic Generator System behavior CPU load Microsoft Performance IO Activities Single processes Memory … Throughput Customized Traffic Generator Components on the Auto – ID Infrastructure Gross Times Gross CPU Times JARM Microsoft Performance Part of Microsoft Windows 2000 & XP System Monitor Allows to observe: Single processes IO Activities CPU load … Observations could be logged in a CSV - file. JARM Allows observation of Java components Provides averages values and sums per component Hierarchies of components are possible Results are accessible through Visual Administrator Needs source code modifications! Problems, if JMS is used JARM Measurement Points XML TG Message Dispatcher Activities Rule Engine AIN Repository XML Integration Layer (XI) XML Auto-ID Node Communication Layer DC Communication Layer Auto-ID Cockpit IDoc BE IDoc BE JARM Measurement Points XML TG Message Dispatcher Rule Engine Parser HTTP Activities AIN Repository XML Integration Layer (XI) XML Auto-ID Node Communication Layer DC Communication Layer Auto-ID Cockpit Rule Processor IDoc BE IDoc BE Customized Traffic Generator Based on SAP Traffic Generator Used to simulate reader observations New logging functions were added Every sent request can be logged Allows better review of throughput Other new functions: Add Timeframes for experiments Send a defined number of messages Possibility to run different scripts parallel Scenario – Definitions … CONTENTS Auto-ID Infrastructure Measurement approach Results of the Experiments Conclusion Results of Experiments CPU Load IO Activities Throughput J2EE Components of the Auto-ID Node Different VM settings Settings of Message Dispatcher Results of Experiments CPU Load IO Activities Throughput J2EE Components of the Auto-ID Node Different VM settings Settings of Message Dispatcher CPU Load CPU Load (9 EPCs per msg.) Fall down 100 90 CPU Usage in % 80 70 60 Other 50 Server Dispatcher MaxDB 40 30 20 10 0 0 10 0 20 0 30 0 40 0 50 0 60 0 70 0 80 0 0 0 0 0 0 0 0 0 0 0 90 100 110 120 130 140 150 160 170 180 time in sec. Incursions CPU Load Incursions and the observed fall down have heavy influence on the average CPU load CPU load differ for the experiments Throughput depends on CPU load Need for a key figure for comparison of the different experiments. AverageThroughput Keyfigure AverageCPULoad IO Activities I Savepoints of MaxDB 4000.00 Physical Disk vs. MaxDB 3500.00 3000.00 2500.00 Physical Disk 2000.00 MaxDB IO Data 100kBytes/sec 1500.00 1000.00 500.00 time in sec 1840 1760 1680 1600 1520 1440 1360 1280 1200 1120 1040 960 880 800 720 640 560 480 400 320 240 160 80 0 0.00 IO Activities II MaxDB IO vs. Processor Load 100 90 80 70 60 MaxDB IO / (180 *1024) Processor 50 40 30 20 10 10 0 20 0 30 0 40 0 50 0 60 0 70 0 80 0 90 0 10 00 11 00 12 00 13 00 14 00 15 00 16 00 17 00 18 00 0 0 time in sec. Savepoints of MaxDB IO Activities III MaxDB Savepoints have a significant influence on the system behavior. Settings for MaxDB Savepoint intervals can be changed. Influence of Savepoints is bigger, if the files are fragmented. The Savepoints could not explain the CPU load fall down in the end of the experiment time frame!!! Throughput Different message sizes 9 EPCs per message 45 EPCs per message 90 EPCs per message 900 EPCs per message Multiple readers 1 simulated reader 3 simulated readers 5 simulated readers 7 simulated readers 10 simulated Reader Throughput II Avg. throughput 285 300 271 255 250 259 241 EPCs per sec. 196 200 150 216 Measured values 181 Key figures 100 50 0 9 EPCs 45 EPCs 90 EPCs Message size 900 EPCs Throughput III Avg. throuhgput 300 EPCs per sec. 250 9 EPCs per msg. 200 45 EPCs per msg. 150 90 EPCs per msg. 100 900 EPCs per msg. 50 0 [300,600] [601,900] [901,1200] Interval [1201,1500] [1501,1800] Throughput IV Avg. Throughput EPCs per sec. 190 185 180 175 170 165 160 155 1 3 5 Simulated readers 7 10 Throughput V Conclusions: Influence of message size: Bigger message size Higher throughput in no. of EPCs per sec. Influence of multiple simulated RFID readers: Throughout increases up to n reader; decreases after that Throughput decreases over time Auto-ID Node Components Avg. Gross Time for one request 10000 ms. 1000 Gross Time 100 y=3.87 x + 18.9 10 1 9 45 90 EPCs per msg. (x) 900 Auto-ID Node Components Gross Time of AII Components 100% 90% 80% 70% Other 60% RuleProcessor 50% Parser 40% Http Server 30% 20% 10% 0% 9 45 90 Msg. Size 900 Auto-ID Node Components II Gross Time CPU of Rule Processor Components 100% 90% 80% Others 70% 60% Activity:CREATE_ CURRENT_STATE 50% Activity:REGISTER _UNEXPECTED_O BJECT Rule Engine 40% 30% 20% 10% 0% 9 45 90 Msg. size 900 Auto-ID Node Components III REGISTER UNEXPECTED OBJECT Gross Time 100% 80% 60% DB: Read Records 40% DB: Insert Records App. Server 20% 0% 9 45 90 EPCs per msg. 900 Auto-ID Node Components IV Conclusions: Gross Times scale linear for different message sizes. The activities are the dominating part of the Auto-ID Node. The activities are dominated by database accesses. CONTENTS Auto-ID Infrastructure Measurement Approach Results of the Experiments Final Conclusions Final Conclusions I CPU Load: CPU load has short incursions Number of simulated readers has no influence on the CPU load Message size influences the proportions of the system processes regarding CPU load CPU load decrease at the end of the experiment time frame IO Activities: MaxDB Savepoints have a significant influence on the system behavior Throughput: Throughput is higher for larger messages Throughput decreases over time Throughput depends on number of readers Final Conclusions II Components of the Auto-ID Node: Auto-ID Node components scale linear Rule Activities are the dominating component Performance of Activities is dominated by database accesses Number of simulated readers has significant influence on the Gross Time Settings of Java Virtual Machine: Heap size is the most important parameter for higher throughput JMS settings of Message Dispatcher: Throughput is lower, if JMS is used. Gross Time is higher, if JMS is used.