| name | exa-load-scale |
| description | Implement Exa load testing, capacity planning, and scaling strategies.
Use when running performance tests, planning capacity for Exa integrations,
or designing high-throughput search architectures.
Trigger with phrases like "exa load test", "exa scale",
"exa capacity", "exa k6", "exa benchmark", "exa throughput".
|
| allowed-tools | Read, Write, Edit, Bash(k6:*), Bash(node:*) |
| version | 1.11.0 |
| license | MIT |
| author | Jeremy Longshore <jeremy@intentsolutions.io> |
| tags | ["saas","exa","testing","performance","scaling"] |
| compatibility | Designed for Claude Code, also compatible with Codex and OpenClaw |
Exa Load & Scale
Overview
Load testing and capacity planning for Exa integrations. Key constraint: Exa's default rate limit is 10 QPS. Scaling strategies focus on caching, request queuing, parallel processing within rate limits, and search type selection for latency budgets.
Prerequisites
- k6 load testing tool installed
- Test environment Exa API key (separate from production)
- Redis for result caching
Capacity Reference
| Search Type | Typical Latency | Max Throughput (10 QPS) |
|---|
instant | < 150ms | 10 req/s (600/min) |
fast | < 425ms | 10 req/s (600/min) |
auto | 300-1500ms | 10 req/s (600/min) |
neural | 500-2000ms | 10 req/s (600/min) |
deep | 2-5s | 10 req/s (600/min) |
With caching (50% hit rate): Effective throughput doubles to 20 req/s equivalent.
Instructions
Step 1: k6 Load Test Against Your Wrapper
import http from "k6/http";
import { check, sleep } from "k6";
export const options = {
stages: [
{ duration: "1m", target: 5 },
{ duration: "3m", target: 5 },
{ duration: "1m", target: 10 },
{ : , : },
{ : , : },
],
: {
: [],
: [],
},
};
queries = [
,
,
,
,
,
];
() {
query = queries[.(.() * queries.)];
response = http.(
,
.({ query, : }),
{
: { : },
: ,
}
);
(response, {
: r. === ,
: .(r.).?. > ,
: r.. < ,
});
( + .());
}