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
Run this as a plan
Put the scenario in your app's Config/load-plan.json and run it from the narduk-app CLI.