Friday, November 13, 2026

Stress Test using Grafana

 2. Install Grafana k6 on Ubuntu

 

https://grafana.com/docs/k6/latest/set-up/install-k6/?utm_source=chatgpt.com

 

curl -fsSL https://dl.k6.io/key.gpg | sudo gpg --dearmor -o /usr/share/keyrings/k6-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/k6-archive-keyring.gpg] https://dl.k6.io/deb stable main" | sudo tee /etc/apt/sources.list.d/k6.list
sudo apt-get update
sudo apt-get install k6

 

After installation, verify:

  k6 version

 3. Create your first Medicalin load test

Create a directory: 

 mkdir -p ~/medicalin-load-test
cd ~/medicalin-load-test

 

 Create a test script:

 nano medicalin-test.js

 

import http from 'k6/http';
import { check, sleep } from 'k6';

export const options = {
  stages: [
    { duration: '1m', target: 10 },
    { duration: '2m', target: 50 },
    { duration: '2m', target: 100 },
    { duration: '1m', target: 0 },
  ],

  thresholds: {
    http_req_duration: ['p(95)<2000'],
    http_req_failed: ['rate<0.01'],
  },
};

export default function () {
  const response = http.get(__ENV.BASE_URL, {
    timeout: '10s',
  });

  check(response, {
    'status is 200': (r) => r.status === 200,
    'response time below 2 seconds': (r) => r.timings.duration < 2000,
  });

  sleep(3);
} 

 -------------

This test gradually increases to 100 virtual users. It is a preliminary test, not yet the full 1,000-user stress test.

Run it against a dedicated staging environment:

 

BASE_URL=https://staging.example.com k6 run -e BASE_URL=https://staging.example.com medicalin-test.js