Skip to main content
Back to blog
performance 11 March 2020 2 min read

Performance Journey

A methodical approach to performance testing, walking through requirements gathering, test asset creation, execution, and reporting for new APIs.

M

Mark

Performance Testing Expert

This article presents a practical walkthrough of performance testing methodology using a fictitious scenario where ten new APIs are added to an existing web application.

The Scenario

The company needs to integrate new customer database APIs while maintaining existing SLAs with one week until launch. The requirements:

  • Support 500 concurrent users
  • 100 transactions per second baseline
  • New APIs called twice per user journey
  • Maintain existing SLAs

Phase 1: Gap Analysis

Before diving in, identify what’s missing:

  • Missing non-functional requirements
  • Insufficient test data
  • Undocumented volumetrics
  • Unclear success criteria

Phase 2: Requirements Gathering

Leverage existing SLAs to define targets:

MetricTarget
Page response time5 seconds
99th percentile4 seconds
Individual API responseSub-second
Total throughput300 TPS

Each new API should respond in sub-second timeframes. Combined infrastructure must handle 300 total transactions per second.

Phase 3: Test Asset Creation

Develop JMeter scripts for:

  1. Isolated API testing - Test each API independently
  2. Combined API testing - Test all APIs together
  3. Integrated testing - Test APIs within the full user journey

Test Data Requirements

For different test durations:

DurationData Rows Required
1 hour720,000
8 hours5,760,000

Plan your test data generation accordingly.

Phase 4: Test Execution

The test strategy includes:

  1. Baseline tests - Establish performance benchmarks
  2. Load tests (isolated) - Test individual APIs under load
  3. Load tests (combined) - Test all APIs together
  4. Soak tests - 8-hour duration to identify memory leaks
  5. Stress tests - Find breaking points

Phase 5: Reporting

Use comprehensive analysis tools:

  • Grafana - Real-time metrics visualization
  • JMeter HTML reports - Detailed response time analysis
  • Hardware monitoring - CPU, memory, disk I/O
  • Application logs - Error analysis and debugging

Communicate findings throughout testing, not just at the end.

Key Takeaway

Understand the requirements. Then design a test scenario that will stimulate the application sufficiently to analyse its behaviour when placed under load.

Further Reading

Tags:

#performance-testing #methodology #api-testing #jmeter

Need help with performance testing?

Let's discuss how I can help improve your application's performance.

Get in Touch