result-indexer-scaled-1-500rps.json


Overview

The `result-indexer-scaled-1-500rps.json` file contains a detailed snapshot of performance test results and metrics collected during a load test run conducted at a scale of approximately 500 requests per second (RPS). This JSON-formatted data represents aggregated statistics on HTTP requests, timing metrics, virtual user (VU) counts, and other relevant counters gathered over a test duration of about 300 seconds (5 minutes).

The main purpose of this file is to serve as an index or summary output from a performance testing tool (likely k6 or a similar load testing framework), which can be used for:


Detailed Explanation of File Structure and Contents

This file is a JSON object with the following top-level keys:

1. root_group

2. options

3. state

4. metrics

Each metric is an object that typically contains some or all of the following:


Key Metrics Explained

Metric Name

Type

Description

`iteration_duration`

trend

Duration of each iteration of the test script (in milliseconds).

`http_req_duration`

trend

Total duration of HTTP requests including all phases (connect, send, wait, receive).

`http_req_duration{expected_response}`

trend

Duration for HTTP requests that returned expected responses.

`http_req_duration{status:200}`

trend

Duration of HTTP requests with HTTP status 200 (success).

`http_req_duration{scenario:rps}`

trend

HTTP request durations filtered by scenario "rps".

`http_req_tls_handshaking`

trend

Time spent in TLS handshake during requests.

`http_req_failed`

rate

Rate of failed HTTP requests (passes = 0, fails = total requests).

`http_req_connecting`

trend

Time spent establishing TCP connections.

`http_req_sending`

trend

Time spent sending HTTP request bytes.

`http_req_waiting`

trend

Time spent waiting for response (TTFB - Time to First Byte).

`http_req_receiving`

trend

Time spent receiving HTTP response bytes.

`data_sent`

counter

Total amount of data sent over the network (in bytes).

`data_received`

counter

Total amount of data received over the network (in bytes).

`http_reqs`

counter

Total number of HTTP requests sent.

`iterations`

counter

Total iterations executed (script loop cycles).

`vus`

gauge

Virtual users currently active during the test.

`vus_max`

gauge

Maximum number of virtual users active during the test.


Important Implementation Details and Algorithms


Interaction with Other System Components


Usage Example

Suppose you want to analyze the median HTTP request duration from this file:

const fs = require('fs');

const data = JSON.parse(fs.readFileSync('result-indexer-scaled-1-500rps.json'));
const medianHttpReqDuration = data.metrics['http_req_duration'].values.med;

console.log(`Median HTTP Request Duration: ${medianHttpReqDuration} ms`);

This can be used to validate if the median latency meets SLA requirements.


Visual Diagram: Metrics Structure Flowchart

flowchart TD
    A[Metrics] --> B[Trend Metrics]
    A --> C[Rate Metrics]
    A --> D[Counter Metrics]
    A --> E[Gauge Metrics]

    B --> B1[http_req_duration]
    B --> B2[iteration_duration]
    B --> B3[http_req_tls_handshaking]
    B --> B4[http_req_connecting]
    B --> B5[http_req_sending]
    B --> B6[http_req_waiting]
    B --> B7[http_req_receiving]
    B --> B8[http_req_duration{status:200}]
    B --> B9[http_req_duration{scenario:rps}]
    B --> B10[http_req_duration{expected_response:true}]
    B --> B11[http_req_blocked]

    C --> C1[http_req_failed]
    C --> C2[http_req_failed{scenario:rps}]

    D --> D1[data_sent]
    D --> D2[data_received]
    D --> D3[http_reqs]
    D --> D4[iterations]

    E --> E1[vus]
    E --> E2[vus_max]

**Diagram Explanation:**


Summary

The `result-indexer-scaled-1-500rps.json` file is a comprehensive performance testing result snapshot. It captures detailed timing and count-based metrics aggregated during a high-throughput HTTP load test. The data supports performance analysis, monitoring, and threshold-based validation and integrates into larger testing and reporting workflows. The structured metric types (trends, rates, counters, gauges) provide a rich set of insights into different aspects of system performance under load.