# blaster **Repository Path**: zshrc/blaster ## Basic Information - **Project Name**: blaster - **Description**: Blaster:🌪️ HTTP/HTTPS 压力测试工具 🌪️ - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-01-14 - **Last Updated**: 2026-01-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: Go语言 ## README # Blaster > 🌪️ HTTP/HTTPS 压力测试工具 🌪️ ## 概述 Blaster 是一款基于 Golang 原生高并发模型开发的高性能 HTTP/HTTPS 压力测试工具。通过模拟数万级并发请求,精准评估 API 接口、Web 服务的性能极限、吞吐量和稳定性,为接口优化、服务扩容提供可靠的性能数据支撑。 ## 核心功能 - **多模式灵活压测**:支持「指定并发数 + 指定请求总数」「指定并发数 + 持续运行时间」两种核心模式 - **配置文件驱动**:通过 YAML 文件定义多接口混合压测、自定义请求头、POST JSON/Form 请求体、Cookie 携带等复杂业务场景,支持批量场景化测试 - **智能超时控制**:全局 / 单请求级别的超时时间自定义配置,精准规避请求阻塞导致的压测失效 - **高性能连接池**:原生支持 HTTP Keep-Alive 长连接复用,大幅减少 TCP 握手 / 挥手开销,提升压测效率,降低服务端无效负载 - **全维度性能指标**:压测结束输出详细可视化报告,包含请求成功率、QPS、平均响应时间、最大 / 最小耗时、各状态码分布等核心指标 - **轻量化高并发**:基于 Goroutine 实现并发,单机即可轻松模拟万级并发,内存占用远低于同类 Python/Java 压测工具 ## 快速开始 ### 环境要求 - **GO版本**: Go 1.18 + - **系统**: Linux / MacOS / Windows - **网络**: 本地机器网络可达目标压测服务 ### 安装 ``` # 下载源码 git clone https://gitee.com/zshrc/blaster # 进入项目目录 cd c4 # Linux / MacOS / Windows 编译可执行文件 go build -o blaster # ⚠️ 配置 api.yaml 文件 ⚠️ # 运行 ./blaster ``` ### 配置文件示例 ``` # api.yaml # 系统配置 system: host: "" port: "80" protocol: "http" timeout: 30 # 压测参数配置 parameters: concurrency: 1 # 并发数 etimes: 1 # 执行次数 # 认证配置 auth: method: 1 # 1:自动调用登录接口获取token进行认证 | 2:手动配置token认证 path: "/user/login" # 登录接口路由 field: "accessToken" # 登陆接口返回的token字段名 code: 0 # 登录接口成功时返回的code代码,默认code响应码为0时成功,请根据实际情况配置 parameters: | # 登录接口参数 { "username":"root", "password":"123456" } token: "token" # 手动配置token认证 # 压测接口配置 requests: - name: "用户登陆" method: "GET" path: "/user/login" header: body: type: "json" data: | { "username": "root", "password": "123456" } - name: "用户信息" method: "GET" path: "/user/info" header: body: type: "json" data: "" ``` ## 下载中心 ### 预编译二进制文件 | 平台架构 | 下载链接 | 文件大小 | 校验和 | |----------------|------------------------------|----------|--------| | Linux x64 | [blaster-linux](./release/linux/blaster-linux-amd64) | ~8MB | - | | macOS ARM64 | [blaster-darwin-arm64](./release/macos/blaster-mac-arm64) | ~8MB | - | | Windows x64 | [blaster-windows.exe](./release/windows/blaster.exe) | ~8MB | - | ### 系统要求 - **最低内存**: 64MB - **磁盘空间**: 100MB ## 📝 贡献者 感谢以下贡献者对本项目的贡献 | GitHub ID | 贡献类型 | |----------|----------| | [Steven]() | 项目核心推动者 | | [zsh](https://gitee.com/zshrc) | 核心开发 | ## 📝 联系方式 如有任何问题或建议,欢迎联系作者 [zsh](https://gitee.com/zshrc) ✍️。