• Save
Die Top Performance Probleme in Mordernen Anwendungen
Upcoming SlideShare
Loading in...5
×
 

Die Top Performance Probleme in Mordernen Anwendungen

on

  • 361 views

Performanceprobleme treten meistens dann auf wenn man nicht damit rechnet, und es kostet viel Zeit und Geld um diese Probleme in den Griff zu bekommen. Viele der Probleme die man in modernen ...

Performanceprobleme treten meistens dann auf wenn man nicht damit rechnet, und es kostet viel Zeit und Geld um diese Probleme in den Griff zu bekommen. Viele der Probleme die man in modernen Anwendungen findet könnten aber von vorne herein vermieden werden wenn man nur den nötigen Einblick in die verwendeten Technologien, Applikationsservern bzw. Frameworks hätte. Unnötig viele Datenbankabfragen, performanceintensive Serialisierung bei Remoting-Aufrufen sowie Memory Leaks sind jene Probleme die in diesem Vortrag detaillierter behandelt werden

Presented by Andi Grabner, Technology Strategist, dynaTrace-Compuware Center of Excellence, at the SBB IT Dev Day, December 2010

Statistics

Views

Total Views
361
Slideshare-icon Views on SlideShare
361
Embed Views
0

Actions

Likes
0
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Die Top Performance Probleme in Mordernen Anwendungen Die Top Performance Probleme in Mordernen Anwendungen Presentation Transcript

    • SBB IT Dev DayTop Performance Probleme in modernen Anwendungen
    • Performance
    • Oder? Problem?
    • Die Auswirkungen im Test Unmittelbar Langfristig
    • Wir starten im Web
    • Anatomy of Web 1.0 Datavolume Application Logic Latency (90% of Time in JavaScript Server) DOM NetworkRendering AJAX/XHR Browser Calls Server Layouting Caching Application Logic spread between Browser & Server (40% of Time in Browser, 60% of Time in Server)
    • #1: Überladene Webseiten
    • #2: Nicht optimiert für IE
    • #3: Caching und CDNs Serverside Server providing Data Cache Caching Information Cache per Client Server Proxy Cache (CDN) Clients for Many Clients Konfigurationsprobleme
    • #4: Langsamer Externer Inhalt
    • #5: Connection Handling Konfigurationsprobleme
    • #6: Missbrauch von AJAX
    • Mehr zum Thema Web http://blog.dynatrace.com/2010/08/25/top-10-client-side-performance- problems-in-web-2-0/
    • Was ist am Server los?
    • Serverseitige Web Anwendung Netzwerk Server Daten- bank 1 . . . Servlet n Threads Pools & CPU Network . Ressourcen . DB Conn. 1 . n
    • #1: Datenbankzugriffe Application select ... where id= 1 select ... where id= 1 select ... where id= 100 Database N+1 Query/Too many SQLs
    • #1: Datenbankzugriffe Application select ... from master select ... from detail select ... from detail select ... from detail Database Application select ... from master, detail where .. Database Lazy vs. Eager Loading
    • #1: Datenbankzugriffe Application Connection getConnection() Connection locked closeConnection() Application Connection getConnection() Code requiring DB access Connection locked closeConnection() Code NOT requiring DB access Unnecessary Resource Usage
    • #1: Datenbankzugriffe Loading too much data
    • #2: Connection Pools Application Connection Pool Database •Connection Pools are shared resources •Scaling depends on actual •Wrong scaling may lead to volatile respone times
    • Einfluss auf Durchsatz & Zeit 1 2 3 (1) 1 DB connection (2) 10 DB connections (3) 1 DB connection 200 ms less connection usage Increased time to connect while DB and app stays stable
    • #3: OR-Mapper
    • Die Konfiguration entscheidet Viele Datenbankqueries Ein Aufruf Mittels JOIN
    • #4: Verteilte Kommunikation
    • Der Teufel liegt im Detail
    • Viele Komponenten spielen zusammen
    • #5: Synchronisation
    • Verhalten unter Last Antwortzeit Schlecht CPU Gut
    • Synchronisationsanalyse
    • #6: Memory and GC
    • Memory Leaks
    • Basisüberwachung
    • Hotspotanalyse
    • String Analyse
    • Die Rolle des Garbage Collectors
    • „Stop the World“-GC Strategien Normal Parallel Concurrent
    • #7: Ressource Verschwendung
    • #8: Versteckte Fehler
    • Zusammengefasst Synchronization Heap Sizing Caching GC Tuning
    • andreas.grabner@dynatrace.com Mail blog.dynatrace.com Blog grabnerandi Twitter
    • Download the latest Application Performance almanac:Web | Cloud | DevOps | Mobile | Automation | Tuningwww.dynatrace.com/almanac