link1st/go-stress-testing

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

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 1 hour ago
Added to GitGenius on September 15th, 2026
Created on August 15th, 2019
Open Issues & Pull Requests: 3 (+0)
GitHub issues: Enabled
Number of forks: 833
Total Stargazers: 4,398 (+0)
Total Subscribers: 57 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 9.3 hours
Mean response time: 7.3 days
90th percentile: 20.6 days
Tracked items: 10

Most active contributors

Sign in to see contributor activity.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 0
New in 7 days: 0
Closed in 7 days: 0
Avg open age: N/A days
Stale 30+ days: 0
Stale 90+ days: 0

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

No label distribution available yet.

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

go-stress-testing is a load testing tool written in Go that simulates concurrent users with goroutines to maximize CPU resource utilization.

The tool addresses the need to benchmark system performance under load by generating HTTP and gRPC traffic. It models each simulated user as a single goroutine, allowing a single machine to generate high volumes of concurrent connections. The approach supports HTTP/1.1 and HTTP/2.0 long connections, with straightforward extension possible for private protocols. The README documents how to conduct load testing across different scenarios, from short HTTP connections targeting over 10,000 QPS to long-lived connections reaching 1 million concurrent connections on a single machine.

The tool suits developers and operators who need to validate server capacity before production deployment. It works well for testing Go web services and gRPC endpoints, and the README includes practical guidance on kernel tuning and client configuration needed to achieve high connection counts. The project positions itself alongside established tools like Apache Bench, Locust, and JMeter, offering a lightweight alternative implemented in Go that avoids the overhead of heavier frameworks. The README provides a comparison table of these tools to help users select based on their specific needs.

The project maintains active engagement with practical examples and documentation. The repository includes two complete stress-testing implementation projects demonstrating real-world scenarios. The tool generates HTML test reports with AI-based scoring of results. The codebase includes detailed explanations of load-testing concepts, terminology, and metrics interpretation, suggesting sustained effort to make the tool accessible to users unfamiliar with performance testing methodology.