25
1 ALM160 System Performance Tuning for Beginners Performance and Scalability, SAP AG Disclaimer The information in this presentation is confidential and proprietary to SAP and may not be disclosed without the permission of SAP. This presentation is not subject to your license agreement or any other service or subscription agreement with SAP. SAP has no obligation to pursue any course of business outlined in this document or any related presentation, or to develop or release any functionality mentioned therein. This document, or any related presentation and SAP's strategy and possible future developments, products and or platforms directions and functionality are all subject to change and may be changed by SAP at any time for any reason without notice. The information on this document is not a commitment, promise or legal obligation to deliver any material, code or functionality. This document is provided without a warranty of any kind, either express or implied, including but not limited to, the implied warranties of merchantability, fitness for a particular purpose, or non-infringement. This document is for informational purposes and may not be incorporated into a contract. SAP assumes no responsibility for errors or omissions in this document, except if such damages were caused by SAP intentionally or grossly negligent © SAP AG 2009. All rights reserved. / Page 2 were caused by SAP intentionally or grossly negligent. All forward-looking statements are subject to various risks and uncertainties that could cause actual results to differ materially from expectations. Readers are cautioned not to place undue reliance on these forward-looking statements, which speak only as of their dates, and they should not be relied upon in making purchasing decisions.

Performance ABAP, Java

  • Upload
    jm110

  • View
    33

  • Download
    1

Embed Size (px)

Citation preview

  • 1ALM160

    System Performance Tuning for Beginners

    Performance and Scalability, SAP AG

    Disclaimer

    The information in this presentation is confidential and proprietary to SAP and may not be disclosed without the permission of SAP. This presentation is not subject to your license agreement or any other service or subscription agreement with SAP. SAP has no obligation to pursue any course of business outlined in this document or any related presentation, or to develop or release any functionality mentioned therein. This document, or any related presentation and SAP's strategy and possible future developments, products and or platforms directions and functionality are all subject to change and may be changed by SAP at any time for any reason without notice. The information on this document is not a commitment, promise or legal obligation to deliver any material, code or functionality. This document is provided without a warranty of any kind, either express or implied, including but not limited to, the implied warranties of merchantability, fitness for a particular purpose, or non-infringement. This document is for informational purposes and may not be incorporated into a contract. SAP assumes no responsibility for errors or omissions in this document, except if such damages were caused by SAP intentionally or grossly negligent

    SAP AG 2009. All rights reserved. / Page 2

    were caused by SAP intentionally or grossly negligent.

    All forward-looking statements are subject to various risks and uncertainties that could cause actual results to differ materially from expectations. Readers are cautioned not to place undue reliance on these forward-looking statements, which speak only as of their dates, and they should not be relied upon in making purchasing decisions.

  • 21 Introduction to Performance Monitoring of AS ABAP and AS JAVA

    Agenda

    1. Introduction to Performance Monitoring of AS ABAP and AS JAVA

    2. Hardware2.1. AS ABAP2.2. AS JAVA

    3. Database3.1. AS ABAP3.2. AS JAVA

    4 Application

    SAP AG 2009. All rights reserved. / Page 3

    4. Application4.1. AS ABAP4.2. AS JAVA

    5. Conclusion

    Strategy for Performance Analysis and Optimization

    Blockwise analysis: Top down Use monitoring tools for bottleneck analysis Broad, global scope Improves the situation Quick

    Program-independent procedure System Analysis

    SAP AG 2009. All rights reserved. / Page 4

    HardwareDatabase

    ApplicationCommunication

  • 3Performance-Relevant Components of NW Double Stack Installation

    WebDynproWebDynpro

    SAP Web Dispatcher

    HTTP, SOAPHTTP

    SAPGUI

    DIAG

    Application Server ICM

    Java ABAP

    Workprocess

    HTTP, SOAP

    RFC

    ABAP Dispatcher

    Globalbuffers &caches

    Sharedmemory &buffersServer

    node

    JCo

    SAP AG 2009. All rights reserved. / Page 5

    p

    DBMS

    Database

    DB WP

    JCo

    DB WP

    DB WP

    DB WP

    node

    Applications are usually deployed as ABAP only and Java only. Dual stack is used in BI and PI.

    Most Commonly Used Tools and Monitors AS ABAP

    Area System-Wide Single-User

    n HardwareApplication server OS06 (ST06), OS07

    o Database

    Browser

    ICMABAP dispatcherGW

    nq

    qq o Database

    General DBACOCKPIT

    DB accesses ST10 ST05, STAD

    p ApplicationShared memory & buffers ST02, SHMM

    ABAP runtime SAT (SE30)

    User memory analysis SM04 S_MEMORY_INSPECTOR

    Work process overview SM50, SM66

    Workprocesses

    ICM

    Shared memory and buffers

    AS ABAP

    ABAP dispatcher

    Central services

    Message server

    Enqueue server

    p

    GW

    o

    pp

    q

    p

    SAP AG 2009. All rights reserved. / Page 6

    Work process overview SM50, SM66

    Workload analysis ST03N STAD

    Enqueue monitoring SM12 ST05

    q CommunicationHTTP traffic SMICM, ST03G SMICM

    Remote Function Calls ST03N ST05

    Database(ABAP schema)

    o

    o

  • 4Most Commonly Used Tools and Monitors AS JAVA

    Area JAVAn HardwareApplication server OS06 (ST06), OS07, SAP MC

    o Database

    Browser

    ICMcluster managerGW

    nq

    qq

    General DBACOCKPIT, DB02 (Java schema)

    DB accesses NWA: Open SQL Monitors, Wily Introscope, SAP JVM Profiler

    p ApplicationGlobal Buffers and Caches SAP MC, NWA: Open SQL Monitors

    JAVA runtime Wily Introscope, SAP JVM Profiler

    User memory analysis SAP JVM Profiler

    Server nodes / thread NWA: Operations Management, SAP MC

    servernodes/threads

    ICM

    Global Buffers and Caches

    AS Java

    cluster manager

    Central services

    Message server

    Enqueue server

    p

    GW

    o

    pp

    q

    p

    SAP AG 2009. All rights reserved. / Page 7

    overviewp g ,

    Workload analysis Wily Introscope

    Enqueue monitoring NWA: Open SQL Monitors, SAP MC

    q CommunicationHTTP traffic HTTPwatch, NWA, SAP MC

    Remote Function Calls NWA, SAP JVM Profiler, Wily Introscope

    Database(Java schema)

    o

    o

    1 Introduction to Performance Monitoring of AS ABAP and AS JAVA

    Agenda

    1. Introduction to Performance Monitoring of AS ABAP and AS JAVA

    2. Hardware2.1. AS ABAP2.2. AS JAVA

    3. Database3.1. AS ABAP3.2. AS JAVA

    SAP AG 2009. All rights reserved. / Page 8

    4. Application4.1. AS ABAP4.2. AS JAVA

    5. Conclusion

  • 5Helpful Information from the Operating System Monitor AS ABAP (HW)

    For a detailed analysis, there are dedicated monitors

    No. of CPUsCPU utilization ratio

    Free memory & paging

    Disk utilization, response times, queue length

    Network utilization/errors

    SAP AG 2009. All rights reserved. / Page 9

    Helpful Information from the Operating System Monitor AS JAVA (HW)

    OS information also available in SAP MC

    SAP AG 2009. All rights reserved. / Page 10

    URL: http://:513

  • 61 Introduction to Performance Monitoring of AS ABAP and AS JAVA

    Agenda

    1. Introduction to Performance Monitoring of AS ABAP and AS JAVA

    2. Hardware2.1. AS ABAP2.2. AS JAVA

    3. Database3.1. AS ABAP3.2. AS JAVA

    SAP AG 2009. All rights reserved. / Page 11

    4. Application4.1. AS ABAP4.2. AS JAVA

    5. Conclusion

    DBACOCKPIT: Situation on the Database, Utilization, Disk I/O AS ABAP (DB)

    DBMS specific Some common checks for OLTP systems Data buffer quality:

    96% - 98% Catalog (meta data) cache

    quality: >= 99-100% Full table scans = 0 Sort operations on disk = 0 Number of rollbacks = 0 Deadlocks = 0

    SQL Cache/Statement

    Data Buffer quality

    Catalog Cache quality

    SAP AG 2009. All rights reserved. / Page 12

    SQL Cache/Statement Analysis

    Locks or exclusive waits

    Catalog Cache quality

  • 7 please note:choose the Java schema to get the appropriate figures

    In double stack

    DBACOCKPIT: Situation on the Database, Utilization, Disk I/O AS JAVA (DB)

    In double stack installations AS JAVA and AS ABAP run on the same DB (therefore figures in DBACOCKPIT are shared)

    Usability and interpretation of figures is identical to

    SAP AG 2009. All rights reserved. / Page 13

    figures is identical to old ST04

    DBACOCKPIT: Problem Analysis on Database, Monitors for Performance AS ABAP (DB)

    Different tools for different problem areas available, e.g.

    SQL Locks SQL Performance

    SAP AG 2009. All rights reserved. / Page 14

    etc.

  • 8NWA > Open SQL Monitors: Lock Overview AS JAVA (DB)

    SAP AG 2009. All rights reserved. / Page 15

    http://:/nwa NWA Problem Management Database Open SQL Monitors Native DB Monitors

    Show Current Exclusive Lock Wait Situations

    Trace can be activated per each application server only

    Only one trace in

    ST05: SQL Trace AS ABAP (DB)

    Only one trace in parallel

    New: also call stack available

    SAP AG 2009. All rights reserved. / Page 16

  • 9 Trace can be activated per each server node

    Also call stack available

    Open SQL Monitors: Tracing SQL Accesses to the DB AS JAVA (DB)

    SAP AG 2009. All rights reserved. / Page 17

    1 Introduction to Performance Monitoring of AS ABAP and AS JAVA

    Agenda

    1. Introduction to Performance Monitoring of AS ABAP and AS JAVA

    2. Hardware2.1. AS ABAP2.2. AS JAVA

    3. Database3.1. AS ABAP3.2. AS JAVA

    SAP AG 2009. All rights reserved. / Page 18

    4. Application4.1. AS ABAP4.2. AS JAVA

    5. Conclusion

  • 10

    ST02: Tune Summary on Application Server AS ABAP (APP)

    Buffers There must be no swaps on

    SAP buffers check free space and free directory entries

    Constant number of database accesses (steady state)

    No invalidations (not counted as swaps!)

    SAP AG 2009. All rights reserved. / Page 19

    ST02: Table Call Statistics (directly via ST10) AS ABAP (APP)

    Buffer State = valid Optimal: No invalidations Acceptable: Ratio of invalidations to

    reads is

  • 11

    ST02: Tune Summary, Memory Quality AS ABAP (APP)

    SAP memory = User contexts; MaxUse < In Mem; Autoextend on some OS up to

    em/max_size_MBWindows, Linux 32bit

    Check; Use SM04 to determine the

    top memory consumers observe growth, may be memory leak

    ; "Old sessions" adjust timeout parameter for user or plugins

    SAP AG 2009. All rights reserved. / Page 21

    NWA: Buffer and Cache Status (1) AS JAVA (APP)

    Cached system tables

    Buffer type single or full

    URL http://:/nwaProblem Management Database Open SQL Monitors

    SAP AG 2009. All rights reserved. / Page 22

  • 12

    NWA: Buffer and Cache Status (2) AS JAVA (APP)

    Take care of free size

    Cache efficiency

    Number of Number of modifications

    SAP AG 2009. All rights reserved. / Page 23

    NWA > Open SQL Monitors: Table Call Statistics AS JAVA (APP)

    Interpretation of figures is identical to ST02/ST10

    SAP AG 2009. All rights reserved. / Page 24

    p g Take care of selects, inserts, updates and deletes No buffer states

  • 13

    SAP MC: GC History AS JAVA (APP)

    SAP Systems SID Instance AS Java GC History

    SAP AG 2009. All rights reserved. / Page 25

    Exercise on Checking the System Status AS ABAP

    Logon to the system and find out How many CPUs and how much main memory the server has How much free memory the server has

    15 min

    Which of the previous days showed the highest CPU usage

    The size of the data buffer of the database and the buffer quality

    How many users are currently working on the application server(s) Which user allocates most memory Whether there are any problems with the SAP buffers

    SAP AG 2009. All rights reserved. / Page 26

  • 14

    Exercise on Checking the System Status AS JAVA

    Logon to the NWA and start SAP MC and find out How many Java server nodes are running in the Java cluster How often minor and full GCs where happening on the server node

    10 min

    How much heap memory is configured for each server node and how many of it is currently occupied

    SAP AG 2009. All rights reserved. / Page 27

    Guidelines for Using SM66 to Look AS ABAP (APP)

    Checklist; Check for blocked work processes

    CPIC RFC problems, non-DIA-WPs PRIV Insufficient extended

    memory Semaphore many different, F1 help ENQ Problems with message/

    enqueue server

    Checklist; Do most work processes execute DB commands?

    DB bottleneck (CPU, memory, buffer sizes, I/O, ST04)

    DB locks (WP accessing the same row, ST04)

    ; Do program names appear repeatedly? May contain the coding which slows down the

    system

    SAP AG 2009. All rights reserved. / Page 28

    ; Active programs SAPLNRIV Number range buffer SAPLGLIV Improve COMMIT times on

    database (ERP); Long running SQL Statements

    Problems with Cost Based Optimizer

    Find hot spots with ABAP run time analysis SAT; Other signs of serialization?

    Semaphore locks (Generic table buffer, Number range buffer, Roll, )

    Enqueue locks (non-blocking)

    Lack of free work processes (root cause?)

  • 15

    SM66: Work Process Overview AS ABAP (APP)

    Not typical for production systems

    16

    Involved DBtables

    SAP AG 2009. All rights reserved. / Page 29

    Processing time

    Semaphore 16:Generic table buffer

    Why did the process stop?

    SAP MC: Thread Overview AS JAVA (APP)

    SAP AG 2009. All rights reserved. / Page 30

    SAP Systems SID Instance AS Java Threads

  • 16

    ST03G Workload Analysis: A PowerfulAnalysistool AS ABAP (APP) AS JAVA (APP)

    Ch kli tChecklist; Automatic data collection, aggregation, history; Breakdown of the processing time

    CPU Wait for RFC, http requests, free work

    process, DB request time

    ; Memory usage and network traffic

    SAP AG 2009. All rights reserved. / Page 31

    ; Specialized profiles for RFC Web requests VMC

    ; Ranking lists, like Top-50 longest response times; Display single statistical records; Aggregation according to individual criteria

    ST03G: Statistic Records AS ABAP (APP)

    Workload aggregation according to time- Day, Week, Month

    Workload aggregation according to location- Individual servers, Total

    Workload for individual selections on time, server, Type, Program, User,

    ,

    SAP AG 2009. All rights reserved. / Page 32

    Different views on the workload answers every question

  • 17

    ST03G Statistic Records AS ABAP (APP)

    Server BServer CServer DServer E

    Different views on the workload with different dimensions and filters task type transaction user time

    SAP AG 2009. All rights reserved. / Page 33

    Variety of meaningful KPIs per view

    ST03G: Statistic Records AS ABAP (APP)

    and also for AS JAVA!

    SAP AG 2009. All rights reserved. / Page 34

    Variety of meaningful KPIs per view

  • 18

    SAP JVM Profiler: Profiling (1/5) AS JAVA (APP)

    Profiling response times of classes/methods on AS Java Profiling of memory consumption of classes/methods on

    AS Java

    SAP AG 2009. All rights reserved. / Page 35

    SAP JVM Profiler: Profiling (2/5) AS JAVA (APP)

    Prerequisite: enable debug on AS Java server node

    Debug port is Debug port is normally5, 5, ... for each AS Java server node

    SAP AG 2009. All rights reserved. / Page 36

  • 19

    SAP JVM Profiler: Profiling (3/5) AS JAVA (APP)

    First step: create profiling configuration One can profile response times and

    memory simultaneously or separately

    SAP AG 2009. All rights reserved. / Page 37

    SAP JVM Profiler: Profiling (4/5) AS JAVA (APP)

    Response time profiling: method tree (hierarchical)

    Response time profiling: methodprofiling: method statistic (flat file)

    Response time profiling: user filter

    SAP AG 2009. All rights reserved. / Page 38

  • 20

    SAP JVM Profiler: Profiling (5/5) AS JAVA (APP)

    Memory profiling: allocated objects

    Memory profiling: method tree (hierarchical)(hierarchical)

    Memory profiling: method statistic (flat file)

    Memory profiling: user filter

    SAP AG 2009. All rights reserved. / Page 39

    Exercise on Workload Analysis AS ABAP

    The goal of the exercise is to perform a workload analysis of the system for a specific period in the past.

    15 min

    Start the analysis of the workload of the whole system in expert mode for a period which will be given by the presenter

    Which task type dominates the load during that period? What does the User by Activity profile look like? Determine the transactions or reports which show the highest average response

    times Are there time periods with peak load visible?

    D t i th d t ti d f th i l di l t ith th hi h t

    SAP AG 2009. All rights reserved. / Page 40

    Determine the date, time and user name of the single dialog step with the highest response time

  • 21

    Exercise on Workload Analysis AS JAVA

    The goal of the exercise is to perform a workload analysis of the system for a specific period in the past and online.

    10 min

    Start the analysis of the workload of the whole system for a period which will be given by the presenter

    Start the appropriate tool to conduct a memory analysis. Let the tool run for about 30 seconds and the stop the measurement (alternatively, use the trace file provided by the lecturer)

    Which user is consuming most of the memory? What call is consuming most of the memory? What single objects consume most memory? Who is responsible for the

    SAP AG 2009. All rights reserved. / Page 41

    What single objects consume most memory? Who is responsible for the instantiation for that object(s)?

    1 Introduction to Performance Monitoring of AS ABAP and AS JAVA

    Agenda

    1. Introduction to Performance Monitoring of AS ABAP and AS JAVA

    2. Hardware2.1. AS ABAP2.2. AS JAVA

    3. Database3.1. AS ABAP3.2. AS JAVA

    SAP AG 2009. All rights reserved. / Page 42

    4. Application4.1. AS ABAP4.2. AS JAVA

    5. Conclusion

  • 22

    Conclusion

    SAP's monitoring infrastructure provides you with the means to quickly analyze the performance of the system

    System analysis is a procedural approach by which you eliminate the potential y y p pp y y pcauses for poor performance

    Performance monitoring helps you to decide which follow-on activities are required Extend hardware Analyze coding Analyze business process design

    SAP AG 2009. All rights reserved. / Page 43

    Virtual SAP TechEd :Extend your SAP TechEd Year Round

    Best of SAP TechEd at Your fingertips View sessions that you missed Replay and review sessions that you

    attendedattended Quality SAP TechEd Training

    Best Practices Product Roadmaps

    Learn at your own pace Gain Access to sessions recorded in

    2006, 2007, 2008 and 2009* (*available December 2009)24/7 A li / ffli

    SAP AG 2009. All rights reserved. / Page 44

    24/7 Access online/offline Flexible Course Syllabus

    Volume Licensing Special Pricing for multiple subscribers

    http://www.sdn.sap.com/irj/scn/virtualteched-allsessions

  • 23

    Further Information

    SAP Public Web:SAP Developer Network (SDN): www.sdn.sap.comBusiness Process Expert (BPX) Community: www.bpx.sap.com

    Instructions: (Delete this element)Please mention any related developer areas or forums on SDN.

    Related Workshops/Lectures at SAP TechEd 2009Session ID, Title, Session Type

    Related SAP Education and Certification Opportunitieshttp://www.sap.com/education/

    Instructions: (Delete this element)Please mention any related SAP TechEd workshops or lectures.

    Instructions: (Delete this element)Please mention any related SAP certification and training courses.

    SAP BusinessObjects Community (BOC): www.boc.sap.com

    SAP AG 2009. All rights reserved. / Page 45

    pIf you have too many sessions to fit on slide, please use a second Further Information slide for Related Workshops/Lectures.

    DEMO

  • 24

    Th k Y !Thank You!

    ContactFeedback

    Please complete your session evaluation.p y

    Be courteous deposit your trash, and do not take the handouts for the following session.

  • 25

    No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG. The information contained herein may be changed without prior notice.

    Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors.

    Microsoft, Windows, Excel, Outlook, and PowerPoint are registered trademarks of Microsoft Corporation.

    IBM, DB2, DB2 Universal Database, System i, System i5, System p, System p5, System x, System z, System z10, System z9, z10, z9, iSeries, pSeries, xSeries, zSeries, eServer, z/VM, z/OS, i5/OS, S/390, OS/390, OS/400, AS/400, S/390 Parallel Enterprise Server, PowerVM, Power Architecture, POWER6+, POWER6, POWER5+,

    Copyright 2009 SAP AGAll Rights Reserved

    , , , , , , , , p , , , , , ,POWER5, POWER, OpenPower, PowerPC, BatchPipes, BladeCenter, System Storage, GPFS, HACMP, RETAIN, DB2 Connect, RACF, Redbooks, OS/2, Parallel Sysplex, MVS/ESA, AIX, Intelligent Miner, WebSphere, Netfinity, Tivoli and Informix are trademarks or registered trademarks of IBM Corporation.

    Linux is the registered trademark of Linus Torvalds in the U.S. and other countries.

    Adobe, the Adobe logo, Acrobat, PostScript, and Reader are either trademarks or registered trademarks of Adobe Systems Incorporated in the United States and/or other countries.

    Oracle is a registered trademark of Oracle Corporation.

    UNIX, X/Open, OSF/1, and Motif are registered trademarks of the Open Group.

    Citrix, ICA, Program Neighborhood, MetaFrame, WinFrame, VideoFrame, and MultiWin are trademarks or registered trademarks of Citrix Systems, Inc.

    HTML, XML, XHTML and W3C are trademarks or registered trademarks of W3C, World Wide Web Consortium, Massachusetts Institute of Technology.

    Java is a registered trademark of Sun Microsystems, Inc.

    JavaScript is a registered trademark of Sun Microsystems, Inc., used under license for technology invented and implemented by Netscape.

    SAP, R/3, SAP NetWeaver, Duet, PartnerEdge, ByDesign, SAP Business ByDesign, and other SAP products and services mentioned herein as well as their respective

    SAP AG 2009. All rights reserved. / Page 49

    logos are trademarks or registered trademarks of SAP AG in Germany and other countries.

    Business Objects and the Business Objects logo, BusinessObjects, Crystal Reports, Crystal Decisions, Web Intelligence, Xcelsius, and other Business Objects products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of Business Objects S.A. in the United States and in other countries. Business Objects is an SAP company.

    All other product and service names mentioned are the trademarks of their respective companies. Data contained in this document serves informational purposes only. National product specifications may vary.

    These materials are subject to change without notice. These materials are provided by SAP AG and its affiliated companies ("SAP Group") for informational purposes only, without representation or warranty of any kind, and SAP Group shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP Group products and services are those that are set forth in the express warranty statements accompanying such products and services, if any. Nothing herein should be construed as constituting an additional warrant.