TarsBenchmark
benchmark tool for tars/http service
Install / Use
/learn @TarsCloud/TarsBenchmarkREADME
介绍
tars benchmark是专门为tars服务量身订做的接口和压测工具
完成安装后, 在服务管理页面, 会增加新的tab, 如下图(你需要上传自己的tars协议文件), 如果没有增加说明服务安装或启动失败.

-
点击
调试, 录入参数, 即可进行TARS服务的接口测试 -
点击
压测, 即可基于配置的接口, 完成TARS服务的压力测试
注意如果你的服务的tars文件是多个tars文件组成(通过include引用的), 那么你需要将他们合并成一个上传
压测的主要功能
- 网络高性能:8核机器TPS支持超过20W/S;
- 通讯扩展性:网络层支持TCP/UDP两种协议方式;
- 协议扩展性:应用层支持Http,Tars服务压测, 也保持对第三方协议开放;
- 完善的实时统计与监控支持。提供周期内的请求数/TPS/耗时/成功率分布;
系统组成
它由三个服务组成:
- benchmark/AdminServer: 压力测试管理服务, 收集压力测试过程中的数据, 只能部署在一台节点上
- benchmark/NodeServer: 压测试驱动服务, 如果需要加大测试压力, 可以部署多节点上
- benchmark/BenchmarkWebServer: 压力测试系统管理平台, 它属于 TarsWeb 的扩展服务(>= tarscloud/framework:v3.0.10)
同时整个系统依赖数据库, BenchmarkWebServer 启动时需要连接 mysql, 且自动会创建表, 运行过程中会将压力测试数据结果写入到 db 中并展示在Web上.
支持说明
在 < TarsWeb:v3.0.3 之前, 压测管理平台(WebServer)被内置在 TarsWeb 中, 之后版本为了提供 TarsWeb 的扩展性, TarsWeb 支持了服务扩展化, 即你可以实现独立的 web 服务和 TarsWeb 整合到一起, 从而当子模块升级时无须升级 TarsWeb, 具体方式请参考 TarsWeb 相关的文档.
安装方式
推荐使用新版本(>= tarscloud/framework:v3.0.10) 时, 直接从云市场安装压力测试服务, 建议以容器方式启动, 这样不依赖操作系统 stdc++.so 的版本.
配置说明
在安装压力测试系统时, 需要依赖 mysql, 因此在安装注意配置依赖的 mysql 地址
- BenchmarkWebServer 请修改
config.json, 配置mysql地址
压测工具说明
你可以基于源码编译, 生成独立的压力测试工具(tb), 可以使用它来完成压力测试(命令行交互模式), 请参考说明文档
Related Skills
node-connect
343.3kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
92.1kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
343.3kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
343.3kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
