https://www.rust-lang.org/tools/install
- Install JS dependencies (bun is fast for this.)
bun install
- run the project
bun start
This command will start 3 servers
- Node (expressjs) port 3000
- Bun (bundled server) port 3001
- Deno 2 (bundled server) port 3002
- Rust port 3004
Recommend using vegeta
https://github.com/tsenart/vegeta
vegeta attack -duration=10s -rate=100 -targets=target.txt | vegeta report -type=text
POST http://localhost:3000/build-query-plan
content-type: application/json
@./payload.json
{
"operationName": "TopProducts",
"query": "query TopProducts($first: Int) { topProducts(first: $first) { upc name reviews { id product { name } author { id name } } } }"
}
change the port in target.txt file when attempting to benchmark an specific query planner service or runtime.