Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Alois Reitbauer on Performance Forensics

Alois Reitbauer on Performance Forensics

More Decks by Enterprise Java User Group Austria

Other Decks in Technology

Transcript

  1. Forensics forensis adj - "of or before the forum." In

    Roman tmes, a criminal charge meant presentng the case before a group of public individuals in the forum. … The individual with the best argument and delivery would determine the outcome of the case.
  2. A- Response time problem? B - CPU problem? C -

    Sync problem? D - Database problem?
  3. A: Our response time is 2.3 seconds B: Our response

    time is 1.5 seconds C: Our response time is 6 seconds How can this happen?
  4. Browser Firewall Network Sniffer Web Server Application Server  Page

    Load Time  HTTP Request Time Request Time (max) 95 % Servlet Time The beauty of measures ... ... is that there are so many to choose from
  5. Types of Measurements Cyclic Measurements Are collected ar regular time

    intervals Are time based JMX, CPU, Memory Event-based measurements Are collected as a request occurs Are transactional Response Times, CPU consumption
  6. Types of Statistics Min/Max Average Median Percentiles Use percentiles for

    event-based measures and averages (or max) for cyclical measures
  7. Typical Measurements we work with Memory Consumption, GC CPU Usage,

    Load Average Response Time Transactions Database Statements, Pool Sizes Communication Calls, Latency, Size, Threads
  8. What is the problem? We have response times of 6

    seconds. We have response times of 6 seconds for 95 percent of our users at a load of 500 users with a CPU utilization of 10 percent.
  9. O/R Access Rendering State Handling Latency Data Volume Comm. Behavior

    JavaScript Database Business Tier Browser Web Tier Data Volume Number of Requests Memory and GC Memory and GC
  10. Clie nt A pplication Stub Se rialization Clie nt Infrastructure

    Se rve r A pplication Facade De se rialisation Se rve r Infrastructure Ne tworking Ne tworking A pplication Deve lope rs View Remoting Stack
  11. Application Code Connection Pool Connection Result Set Application SQL TCP/IP

    Database O/R Mapping Layer Caching Layer Statement Connection Prepared Statement Prepared Statement . . . The DB layer
  12. Persistence Framework JDBC Layer Database Execution Plan Cache Prepared Statement

    Cache Cross Session Cache Session Caches Query Cache(s) Caching in the DB layer
  13. Reduce DB Calls Tune Loading Behavior Optimize for caching Define

    Proper Entities select … from a,b,c select … from b,c,a … join fetch ….
  14. Browse r Se rve r JavaScript Pe rform ance H

    TM L Re nde ring M any A JA X /H TTP calls H ig h Late ncy H ig h Datavolum e Thre ad -/ Conne ctionpools Ne twork Datab ase A cce ss We b Se rvice / Backe nd Calls B rowse r B rowse r
  15. Caching on the Web Clie nts Se rve r Cache

    pe r Clie nt Se rve r provid ing Caching Inform ation Prox y Cache for M any Clie nts Se rve rsid e Data Cache