finds.dev← search

// the find

link1st/go-stress-testing

★ 4,403 · Go · NOASSERTION · updated Sep 2026

go 实现的压测工具,ab、locust、Jmeter压测工具介绍【单台机器100w连接压测实战】

A single-binary Go load tester that runs one goroutine per virtual user and can drive HTTP/1.1, HTTP/2, WebSocket and gRPC endpoints, then writes an HTML report. It suits developers who want a quick throughput check without installing Python and Locust, or who want a base to fork for a private protocol.

The per-second table (QPS, min/max/average latency, status code counts) shows where a run starts to degrade, which a single end-of-run summary hides. Protocol coverage is wider than a tool this size usually manages: keep-alive and HTTP/2 via -k and -http2, WebSocket via ws://, gRPC via grpc://, and replay of Chrome or Postman curl exports with -p. Success is checked rather than assumed: -code sets the expected status and -v adds a body check, so a 200 carrying an error payload doesn't inflate the numbers.

The README documents -d two ways: as a debug toggle in the options list and as a data input in the @file section, so the debug and POST examples contradict each other. The AI scoring is the weakest part. The QPS score is described only as dynamic and based on concurrency efficiency, with no formula, the A-F grades sit on an ad hoc rubric, and -ai-key puts the API key on the command line where it shows up in shell history and the process list. The 1M-connection write-up is dated (go1.12.9, CentOS 7.6, 2019-era VMs) and proves kernel tuning more than this tool's ceiling, and the setup docs have drifted: the Docker example runs `docker exec -it go-stress -c 10` with no binary name, and the $GOPATH clone instruction predates modules.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →