result-api-scaled-2-500rps.json


Overview

The `result-api-scaled-2-500rps.json` file is a structured JSON report representing performance testing metrics for an API under a scaled load scenario targeting 500 requests per second (RPS). It captures detailed statistical data about HTTP request timings, throughput, error rates, and virtual user (VU) activity collected during a test run lasting approximately 300 seconds.

This file is typically generated by a load testing tool (e.g., [k6.io](https://k6.io/)) to provide insight into the system's behavior and performance under sustained traffic load, assisting developers and DevOps teams in identifying bottlenecks, stability issues, and verifying SLA compliance.


File Structure and Contents

The JSON structure is organized into top-level keys:


Detailed Explanation of Sections

1. root_group

{
    "path": "",
    "id": "d41d8cd98f00b204e9800998ecf8427e",
    "groups": [],
    "checks": [],
    "name": ""
}

2. options

{
    "summaryTrendStats": ["avg", "min", "med", "max", "p(90)", "p(95)", "p(99)", "count"],
    "summaryTimeUnit": "",
    "noColor": false
}

3. state

{
    "isStdOutTTY": true,
    "isStdErrTTY": true,
    "testRunDurationMs": 300399.202744
}

4. metrics

The largest section, containing multiple named metrics objects, each describing a specific measurement tracked during the test.


Explanation of Key Metrics

Each metric entry has:


Metric Types and Their Meaning


Selected Important Metrics

Metric Name

Description

`http_req_blocked`

Time spent blocked before sending the HTTP request (DNS lookup, socket acquisition).

`http_req_connecting`

Time spent establishing TCP connection.

`http_req_tls_handshaking`

Time spent performing TLS handshake for HTTPS connections.

`http_req_sending`

Time spent sending the HTTP request to the server.

`http_req_waiting`

Time waiting for the server to send response headers (TTFB - Time To First Byte).

`http_req_receiving`

Time spent receiving the response data from the server.

`http_req_duration`

Total duration of the HTTP request from start to finish (sum of above phases).

`http_req_failed`

Rate and counts of failed HTTP requests.

`http_reqs`

Total number of HTTP requests made during the test.

`iterations`

Number of completed iterations (test script loops).

`vus` / `vus_max`

Number of Virtual Users active during the test (min/max values).

`data_sent` / `data_received`

Amount of data sent and received in bytes during the test.

`dropped_iterations`

Number and rate of iterations dropped (e.g., due to overload).

`iteration_duration`

Duration of each iteration cycle.


Example Metric Interpretation

`http_req_duration` has:

The 95th percentile is below the threshold of 800 ms, indicating acceptable performance under test conditions.


Important Implementation Details / Algorithms


Interaction with Other System Components


Usage Example

A developer or performance engineer may use this file as follows:

# Run a load test (example command, depending on tool)
k6 run --out json=result-api-scaled-2-500rps.json test-script.js

# Analyze results programmatically (e.g., parse JSON)
python analyze_results.py --input result-api-scaled-2-500rps.json

# Visualize key metrics in a dashboard
load_test_reporter --input result-api-scaled-2-500rps.json --dashboard

Mermaid Flowchart Diagram

Below is a flowchart representing the main sections and metric relationships in this JSON file:

flowchart TD
    A[Root Group]
    B[Options]
    C[State]
    D[Metrics]

    D --> M1[http_req_blocked]
    D --> M2[http_req_connecting]
    D --> M3[http_req_tls_handshaking]
    D --> M4[http_req_sending]
    D --> M5[http_req_waiting]
    D --> M6[http_req_receiving]
    D --> M7[http_req_duration]
    D --> M8[http_req_failed]
    D --> M9[http_reqs]
    D --> M10[iterations]
    D --> M11[vus & vus_max]
    D --> M12[data_sent & data_received]
    D --> M13[dropped_iterations]
    D --> M14[iteration_duration]

    A --> B
    A --> C
    A --> D

    style A fill:#f9f,stroke:#333,stroke-width:2px
    style D fill:#bbf,stroke:#333,stroke-width:1px

Summary


**End of documentation**