📊

Performance Engineering Course Overview

Jul 22, 2024

Overview of Engineering Batch

Introduction

  • Purpose: Overview of topics in Engineering batch and Q&A session.
  • Speaker: From Performance testing background.

Background Information

  • Audience likely from performance testing background.
  • Roles involve non-functional requirements: Scripting, execution, analysis, reporting.

Performance Engineering (PE)

  • Extension of Performance Testing: Involves deeper knowledge.
  • Key Skills:
    • Testing: Already familiar with it.
    • System Analysis: Main focus of the course.
    • Programming: Basic knowledge, helpful for problem diagnosis.
    • Administration & Networking: Basic skills in tool setup and environment management.
  • Trend: Combined roles in projects requiring both testing and engineering.

Course Structure

Core Components

  1. Testing: Basics already known.
  2. System Analysis: Wide range of topics.
  3. Programming: Not mandatory but beneficial.
  4. Administration & Networking: Basic setup skills needed.

System Analysis Activities

  • System Architecture Review: Typically done by experienced engineers; involves early lifecycle assessments.
  • Engineering Strategies: For web and mobile applications.
  • Monitoring Tools: Experience with APM tools (Dynatrace, AppDynamics, JConsole, Performance Console).
  • Profiling Tools: JProfiler, JProbe; heap analysis, thread dump analysis.
  • Database Analysis: From an application perspective, not deep DBA tasks.

Performance Engineering Skills

  • Testing Phase: Involves scripting, execution, analysis.
  • Development Phase: Client-side and server-side profiling, code-level problem identification.
  • Application Lifecycle Involvement: Extended role compared to traditional testing.

Practical Application

Tools & Resources

  • Necessary installations: Java, Eclipse, Tomcat.
  • Provided resources: WAR files, Google Drive access for documents, and tools.
  • Hands-on practice: Emphasis on practical application through provided sample applications.

Key Topics Covered

  1. Java Basics: Java and JVM fundamentals.
  2. Engineering Activities: Practical debugging of code-level problems using tools like JProfiler and Tomcat.
  3. Profiling & Monitoring: Using APM tools and open-source monitoring tools like Telegraf, InfluxDB, Grafana.
  4. Database Analysis: Focus on Oracle, AWR report analysis.
  5. Client-Side Performance: UI optimization strategies.
  6. Load Testing & Bottleneck Analysis: Minor load testing using tools like JMeter.
  7. Miscellaneous: Introduction to DevOps and cloud concepts for future readiness.

Additional Information

Course Logistics

  • Session Timing: 7:45 AM to 8:45 AM IST; tentative adjustments possible based on feedback.
  • Recording: Sessions will be recorded and made available for review.
  • Queries: Q&A sessions, offline query management via a shared Google sheet.
  • Evaluation: Emphasis on honest reporting of practical experience in interviews.

Audience Engagement

  • Interactive sessions with Q&A on tools, concepts, practical issues.
  • Addressing individual concerns about tool compatibility (e.g., using Mac).
  • Mentoring on extending performance testing experience to performance engineering roles.