Test your microservices at scale

gRPC Load Testing

Load test gRPC services with full protocol support. Measure unary RPC latency, test streaming endpoints, and validate your microservice architecture under realistic traffic patterns.
loadtest.dev runs HTTP plans; this guide uses k6 directly.
Unary and streaming RPC support
Protocol buffer message serialization
TLS and mutual TLS authentication
Service reflection for auto-discovery
Per-method latency tracking
Microservice dependency chain testing
grpc-test.js
import grpc from 'k6/net/grpc';
import { check } from 'k6';

const client = new grpc.Client();
client.load(['proto'], 'hello.proto');

export const options = { vus: 50, duration: '3m' };

export default () => {
  client.connect('grpc.example.com:443', { tls: true });

  const res = client.invoke('hello.HelloService/SayHello', {
    greeting: 'loadtest',
  });

  check(res, {
    'status OK': (r) => r && r.status === grpc.StatusOK,
  });

  client.close();
};

Frequently asked questions

Related guides

API Load Testing
Load test REST and GraphQL APIs at a fixed request rate, with per-second latency and error charts.
HTTP Load Testing
Run HTTP load tests against any endpoint. GET, POST, PUT and DELETE with custom headers and payloads.
WebSocket Load Testing
Load test WebSocket servers with hundreds of concurrent connections. Validate message throughput, latency, and connection stability.

Run this as a plan

Put the scenario in your app's Config/load-plan.json and run it from the narduk-app CLI.
loadtest.dev โ€” Part of the Narduk Enterprises network