SAP GUI für Windows und ActiveX. Performance

Ähnliche Dokumente
Synergien aus Testautomatisierung und Lasttest. Vortrag im Rahmen des German Testing Day 2018

Analysis Add-On Data Lineage

Der Beginn einer wunderbaren Freundschaft von Stefan Schnell

PERFORMANCE TESTS AVALON ODS-SERVER DR. REINHARD HALLERMAYER, BMW GROUP

XFT DOCUMENT CONNECTOR

Inhalt. Einführung RFC-Funktionsbausteine in ABAP Funktionsbausteine zum Lesen Aufruf per srfc 108

REXX. Was ist REXX. Scriptsprache für viele Plattformen Erste Schritte F. Hodel os2.a-net.ch

Hochleistungsrechnen mit Windows Verifikations- und Analyseprogramme Christian Terboven Rechen- und Kommunikationszentrum RWTH Aachen

Fachhochschule Südwestfalen Wir geben Impulse. Kontrollstrukturen und Schleifen in Octave

xflow Systemanforderungen Version 5.1.5

Bankleitzahlen einlesen

SAP NETWEAVER EXCHANGE INFRASTRUCTURE (XI) SAP NETWEAVER PROCESS INTEGRATION (PI) ADAPTER VERMESSUNG

Einführung: Verteilte Systeme - Remote Method Invocation -

Viele SAP-Kunden nutzen die SAP-Statistik, um ihr System von nicht mehr benötigten Kundenobjekten zu bereinigen.

Felder (1) Felder (Arrays) speichern viele Datenelemente des gleichen Typs. Auf einzelne Elemente kann über einen Index zugegriffen werden

zur Erstellung von Präsentationen

Software Defined Everything IoT

Messung von ServiceLeistung für SAP Service Provider Kundenevent 25. November HSR Rapperswil

4.2 Selbstdefinierte Matlab-Funktionen 1. Teil

Auf einen Blick. TEIL 1 Quelltext bearbeiten 17 TEIL 2 Quelltext automatisch erzeugen 73 Mit Zusatzinformationen zu. Entwicklungsobjekten arbeiten 97

C++ OpenCppCoverage. Detlef Wilkening

Pimp my SAP SAP Screen Personas / Fiori

SmartExporter 2018 R1

xflow Systemanforderungen

Mehrfache Lineare Regression 1/9

Ein Angebot von DYNACON & LOG 2" Security-Check Ihrer SAP-Systeme" DR. STEFAN JUNGINGER & HOLGER STUMM! München, Juli 2016!

Lösung der Übungsaufgabenserie 12 Grundlagen der Informatik und Numerik

Migration auf PO 7.31 und B2B Add-On. Dirk Körbitz Fresenius Netcare GmbH

C++ - Einführung in die Programmiersprache Funktionen. Leibniz Universität IT Services Anja Aue

SAP-Daten per HTML anzeigen

1 Zusammenfassung und Ausblick 1.1 Zusammenfassung Aufgabe: Der Roboter erfüllt die Aufgabe der Hindernisvermeidung durch Reinforcement Lernens mittel

Software Defined Networking. und seine Anwendbarkeit für die Steuerung von Videodaten im Internet

7. Konkretisierungen im Feindesign. 7.1 Zustandsdiagramme 7.2 Object Constraint Language

Datenbankenseminar: SAP Reporting Vergleich ABAP vs. Quick View. Dipl. WiFo Sven Adolph

Improving the Accuracy of GPS

Quick Guide. für HIS-Metrics Report unter Windows mit QA-C v7.2. Stand: März QA Systems GmbH Seite 1 von 6

Massengenehmigung mit der UWL(Universal- Worklist) 18 December B. Sc. Alexander Graf

Just-In-Time-Compiler (2)

Einstieg in die Informatik mit Java

Just-In-Time-Compiler (2)

Praktikum Ingenieurinformatik. Termin 6. Mehrdimensionale Felder, Kurvendarstellung mit Excel

B Synopsis der Programmiersprachen ABAP, VB und Java

Projekt Systementwicklung

6 OLE2 und MS Office Integration

2 Wegweiser Projektbeschreibung...69

EINFÜHRUNG SAP CAR BEI KAUFLAND

SAP Supplier Relationship Management (SRM) als Rapid Deployment Solution (RDS) - Teil 2. SAP Consulting Januar 2012

Shell-Scripting Linux-Kurs der Unix-AG

SAP ARBEITSKREIS SAP-BASIS & Technologie

10.6 Programmier-Exits für Workitems

ajanzen.com ALV-Anzeige mit eigenen Spaltenüberschriften und aktiven Standardfunktionen

Zielsetzung. Fachlicher Schwerpunkt. Besondere Qualifikation. Fortbildung

WI EDI Solution. Stand

11.3 Transaktionen und LUWs in SAP R/3

SMARTCHANGE TRANSPORT MANAGEMENT IN DER PRAXIS

11.3 Transaktionen und LUWs in SAP R/3

Centric Effiziente Mitarbeiterausbildung mit elearning und UPK. Sascha Rötz Centric IT Solutions GmbH

1 Einsatz des SAP Code Inspectors Konfiguration und Funktionen des SAP Code Inspectors... 67

WiMa-Praktikum 1. Woche 8

Team Developer 7.0. Teil 2. MD Roadshow 2016

Customer Data Control. - verwalten und steuern -

AT SOLUTION PARTNER WE LIKE TO MOVE IT FROM ABAP TO UI5. AT Solution Partner

Indirekte Nutzung aus der SAP-Architektursicht

Lehrplan 2013: Klassenstufe 11: 2015/16 Klassenstufe 12: 2016/17 Analytische Geometrie und Vektorrechnung

Inhalt. TEIL I Grundlagen TEIL II Single-Sign-on für Benutzerschnittstellen. Vorwort 13 Einleitung 15

PROGRAMMIERKURS FORTRAN

PowerShell: Angriff unter dem Radar

Hinweis SAP-Kernel 720 ersetzt ältere Kernel-Versionen

Mocking Libraries Shootout

Integration UPS Services in SAP

Cloud Computing in der öffentlichen Verwaltung Erfahrungen von swisstopo

Fibonacci Zahlen Empirische Untersuchung der Aufrufe

Schwingungen und Wellen

Herzlich willkommen DevDay 2016 Performance Profiling mit JProfiler

Einführung in die Programmierung Wintersemester 2008/09

Subprozesse in Python

Einstieg in die Programmierung mit Visual Basic.NET

Histogramm und Wahrscheinlichkeitsnetz 1/12

Informatik I. Informatik I. 4.1 Funktionsaufrufe. 4.2 Mathematische Funktionen. 4.3 Funktionsdefinitionen. 4.4 Variablengültigkeitsbereich

Wiederholung Wozu Methoden? Methoden Schreiben Methoden Benutzen Rekursion?! Methoden. Javakurs 2012, 3. Vorlesung

Benchmark: Sicherheitslücken & Compliance-

HANA CLOUD CONNECTOR

Elektrotechnik Protokoll - Wechselstromkreise. André Grüneberg Mario Apitz Versuch: 16. Mai 2001 Protokoll: 29. Mai 2001

Performance Verbesserung BIRT-BERICHTE

SAP RDS - Business Suite Integration mit dem Ariba Netzwerk. Solution Summary

Applikationen zur Mikrocontroller-Familie

Informatik I. 4. Funktionen: Aufrufe und Definitionen. 25. Oktober Albert-Ludwigs-Universität Freiburg. Informatik I.

6.4 Performance von internen Tabellen Prüfungen des Code Inspector (SCI)

Der Lua Skripteditor Lua in der Messtechnik

SAP Software Engineering live Agile! Agiles Projektmanagement und Clean Code im SAP-Umfeld

Erfahrungen aus dem Betatest Oracle Database 11g

Performance-Optimierung für Magento E-Commerce Plattformen

Effiziente Java Programmierung

Transkript:

SAP GUI für Windows und ActiveX Performance Stefan Schnell 11. April 2011

Weitere Performance-Betrachtungen Sonstiges und Fragen 11. April 2011 2

Weitere Performance-Betrachtungen Sonstiges und Fragen 11. April 2011 3

Ursächliche Fragestellung Kann durch die Verwendung schneller (Assembler-)Routinen auf dem Präsentationsserver eine Laufzeitverbesserung von ABAP-Programmen erreicht werden? 11. April 2011 4

Vorgehensweise Zum Test wurde die Sinus-Berechnung eines Winkels in Grad gewählt. Es wurde eine Assembler-Routine entwickelt und diese der ABAP-Funktion gegenübergestellt. 11. April 2011 5

Assembler-Routine Pi180 = 0.017453292519943295769236907684886 Function FSin(ByVal AngleDeg As Single) As Single! FNINIT! FLD AngleDeg! FLD Pi180! FMULP st(1), st(0)! FSIN! FSTP Function End Function 11. April 2011 6

1. Ergebnis Das Laufzeitverhalten der Assembler-Routine wurde mit GetTickCount vermessen. Sie zeigte erst ab 100.000 Durchläufen ein spürbares Messergebnis. 11. April 2011 7

ActiveX-Modul Die Assembler-Routine wurde als Methode in einem ActiveX-Modul eingebunden. 11. April 2011 8

ABAP-Programm Do 1000 Times. AngleRad = 45 * Pi180. Result = sin( AngleRad ). EndDo. versus Do 1000 Times. Call Method Of ofsincom 'FSin' = Result Exporting #1 = 45. EndDo. 11. April 2011 9

Versuchsanordnung Applikations- und Präsentationsserver werden in einer VM betrieben. Der SAP GUI hat die Version 7.10 und das SAP-System die Version SAP EHP 1 for SAP NetWeaver 7.0. 11. April 2011 10

2. Ergebnis Messungen mit Get Run Time Field zeigten signifikante Unterschiede zwischen den unterschiedlichen Ansätzen. ABAP-Routine: ActiveX-Routine: 324 * 10-6 Sek. 9.682.618 * 10-6 Sek. 11. April 2011 11

Weitere Fragestellung Was ist die Ursache für den deutlichen Unterschied zwischen den Ansätzen? 11. April 2011 12

Weitere Performance-Betrachtungen Sonstiges und Fragen 11. April 2011 13

Weitere Performance-Betrachtungen Vorgehensweise In unterschiedlichen Testreihen wurden verschiedene Ansätze vermessen und ausgewertet: Aufruf einer leeren Routine Aufruf einer leeren Routine mit Rückgabewert Aufruf einer leeren Routine mit Übergabe- und Rückgabewert 11. April 2011 14

Weitere Performance-Betrachtungen 3. Ergebnis Die Verwendung von Übergabe- und Rückgabewerten zeigten nur einen minimalen Unterschied. In den weiteren Messungen wurde diese Differenzierung nicht weiter betrachtet. 11. April 2011 15

Weitere Performance-Betrachtungen Vermessungsroutine Function PerfTest() OutputDebugString(Time$) OutputDebugString(Str$(GetTickCount())) Sleep 5000 OutputDebugString(Str$(GetTickCount())) OutputDebugString(Time$) End Function 11. April 2011 16

Weitere Performance-Betrachtungen 4. Ergebnis Pro Aufruf einer ActiveX-Methode aus einem ABAP-Programm wurde, in der beschriebenen Konstellation, ein Zeitbedarf von 9,6 * 10-3 Sekunden ermittelt. 11. April 2011 17

Weitere Performance-Betrachtungen Fazit (1) Die Verwendung von ActiveX-Methodenaufrufen aus einem ABAP-Programm bedeutet in jedem Fall einen Performance-Verlust gegenüber implementierten Funktionen. Für die im Beispiel verwendete Sinus-Funktion führt der ActiveX-Methodenaufruf, trotz schneller Assembler-Befehle, zu einem so hohen Performance-Verlust, dass ein Einsatz sich als nicht praktikabel erwies. 11. April 2011 18

Weitere Performance-Betrachtungen Fazit (2) Die Verwendung von ActiveX-Methodenaufrufen in ABAP-Programmen sollte durchdacht sein. Vorhandenen ABAP-Befehlen sollte immer der Vorzug gegeben werden. ActiveX sollte ausschließlich an den Stellen zum Einsatz kommen, an denen ABAP keine Lösung anzubieten hat. 11. April 2011 19

Weitere Performance-Betrachtungen Fazit (3) Die Verwendung von ActiveX-Methodenaufrufen in Massenverarbeitungen sollte äußerst kritisch und die Performance intensiv betrachtet werden. 11. April 2011 20

Weitere Performance-Betrachtungen Sonstiges und Fragen 11. April 2011 21

Sonstiges und Fragen Gibt es noch Fragen, Anregungen oder Wünsche? 11. April 2011 22

Danke für Ihre Aufmerksamkeit 11. April 2011 23