12
System Performance Engineering Methodology (SPEM) by Ankit Rathi http://ankitrathi.co.nr © 2013

SPEM

Embed Size (px)

DESCRIPTION

System Performance Engineering Methodology

Citation preview

  • 1. System Performance Engineering Methodology (SPEM) by Ankit Rathi http://ankitrathi.co.nr 2013

2. Agenda SPEM Background What is SPEM? Why SPEM is required? Types of SPEM How SPEM is implemented? Who are SPEM stakeholders? Performance Benchmarking Tools http://ankitrathi.co.nr 2013 3. SPEM Background Overnight batch was breaching SLA on regular basis Unable to identify the bottleneck Analyzed the whole batch Completed critical path analysis Identified candidates for tuning Based on trail & error No structured approach http://ankitrathi.co.nr 2013 4. What is SPEM? Step-by-step framework To benchmark the performance To identify the current bottlenecks To analyze performance trend To proactively anticipate performance issues http://ankitrathi.co.nr 2013 5. Some Basics Bottleneck Throughput Response Time Scalability Performance Baseline http://ankitrathi.co.nr 2013 6. Why SPEM is required? More & more functionality day by day Increasing workload on the systems (more data, more users) Inability to identify root-cause & fix No logically structured way to deal with performance issues http://ankitrathi.co.nr 2013 7. Performance Baselines Application statistics (transaction volumes, response time) Database statistics (DB time, Wait time) Operating System statistics (CPU utilization) Disk I/O statistics (disk usage, read/write) Network statistics (data packets, sockets, interfaces) http://ankitrathi.co.nr 2013 8. What are the types of SPEM? Proactive methodology: analysis, design, development and test phases Reactive methodology: identifying the primary bottleneck http://ankitrathi.co.nr 2013 9. How SPEM is implemented? Proactive Approach Simple database & application design Instrumenting system performance measures Avoiding common oversights in system architecture Caching frequently accessed data Workload testing, modeling and implementation Proactive performance stats capture http://ankitrathi.co.nr 2013 10. How SPEM is implemented? Reactive Approach Get and accurate description of the problem Gather application/database/OS/Network stats Check for common pitfalls Analyze the stats gather, theorize the cause of the problem Propose the remedial actions, then implement them Repeat any steps, as required, until performance goals are met http://ankitrathi.co.nr 2013 11. Who are SPEM Stakeholders? Business Analysts (gather/analyse performance requirements) System Architects/Designers (design for performance) Developers (code for performance) Testers (test for performance) Analysts (tune for performance) http://ankitrathi.co.nr 2013 12. Performance Benchmarking Tools Tools in Oracle: AWR/Statspack, Explain Plan, SQL Trace/TKPROF Tools in Java: JRockit, JProfiler Tools in .NET: PerfView, GlowCode Tools for OS: GlowCode (Windows), gProf (UNIX/Linux) http://ankitrathi.co.nr 2013