【TARS】压测工具TarsBenchmark

目录

0.学习链接

1.初识TarsBenchmark

2.TarsBenchmark的框架结构

3.安装部署

3.1 前置条件

3.1.1 TarsCpp版本要求

3.1.2 软件依赖

3.1.3 依赖安装包

3.2 下载源码

 3.3 源码安装

3.4 一键安装可直接在界面操作压力测试

4.服务压测

4.1 选中服务的【接口调试】【添加】【上传协议文件】

4.2 点击【压测】,点击【用例】,添加【用例】

4.3 点击【压测】,勾选【endpoint】,点击【开始压测】

4.4 压测结果显示

5.用TB后台进行压力测试

5.1 Http协议用例压测指南

5.2 Tars协议用例压测指南


0.学习链接

TarsdocGitHub在线文档-TarsBenchmark

TARS基金会的CSDN-TarsBenchmark-服务性能压测利器

QcloudCommunity的CSDN-压测利器:TarsBenchmark正确打开方式

GIT上的关于TB的说明

1.初识TarsBenchmark

tb(tars benchmark)是专门为tars服务量身订做的无码压测工具,具备以下特性:
(1)网络高性能:8核机器TPS支持超过20W/S;
(2)通讯扩展性:网络层支持TCP/UDP两种协议方式;
(3)协议扩展性:应用层支持Http,Tars服务压测, 也保持对第三方协议开放;
(4)完善的实时统计与监控支持。提供周期内的请求数/TPS/耗时/成功率分布.

它支持与TarsWeb 结合使用,提供友好的操作界面对服务进行测试.

2.TarsBenchmark框架结构

tb工具采用多进程方式设计,主进程负责资源调度和外显,压测进程负责网络收发和统计,网络层可以
灵活选择TCP or UDP; 采用协议代理工厂模式管理各类service协议,默认支持http/tars协议的压测,
支持协议自动发现; 主进程和压测进程之间通过控制信息通过信号方式交互,数据通过无锁共享内存队
列交互,以达到最低的资源消耗,主进程会周期地搜集各压测进程的网络统计信息,经过简单汇总之后
输出到控制台.

3.安装部署

3.1 前置条件

3.1.1 TarsCpp版本要求

TarsCpp版本(>=v2.4.0)

3.1.2 软件依赖

3.1.3 依赖安装包

源码编译过程需要安装:gcc, glibc, bison, flex, cmake
例如,在Centos7下,执行:
yum install glibc-devel gcc gcc-c++ bison flex cmake

3.2 下载源码

cd /home/muten/module/TARS/TarsFramework/
git clone https://github.com/TarsCloud/TarsBenchmark.git(巨慢,不过还是能下载的)

 3.3 源码安装

git clone https://github.com/TarsCloud/TarsBenchmark.git
cd TarsBenchmark && mkdir build && cd build
cmake .. && make all

3.4 一键安装可直接在界面操作压力测试

采用最新版本的TarsWeb, 就可以实现在线压测Tars服务,一键发布步骤如下:
./install.sh webhost token adminsip nodeip

参数说明

webhost                  TarsWeb管理端的host或ip:port
token                    TarsWeb管理端的token,可以通过管理端新增及获取http://webhost:3000/auth.html#/token
adminsip                 压测管理服务AdminServer部署的IP地址,AdminServer必须单点部署。
nodeip                   压测节点服务NodeServer部署的IP地址,建议和AdminServer分开部署。

AdminServer建议和tarsregistry部署在一起, NodeServer部署成功之后可在管理端扩容,部署的机器越多,
支持并行压测能力就越强。


例如,TarsWeb 部署地址为 192.168.123.128:3000,并要将 AdminServer 部署在节点 
      192.168.123.128,NodeServer 部署在节点 192.168.123.128,部署命令如下

cd TarsBenchmark
./install.sh 192.168.123.128:3000 abc123efg456ijk789 192.168.123.128 192.168.123.128


我的操作:
进入http://192.168.118.138:3000/auth.html#/token新增token并过去token

cd /home/muten/module/TARS/TarsFramework/TarsBenchmark
./install.sh 192.168.118.138:3000 750bdf29a7c5fa2f6f5152961eb804c312129c8d 192.168.118.138 192.168.118.138

4.服务压测

4.1 选中服务的【接口调试】【添加】【上传协议文件】

4.2 点击【压测】,点击【用例】,添加【用例】

4.3 点击【压测】,勾选【endpoint】,点击【开始压测】

我们勾选 endpoints 中要测试的节点,这里 HelloServer 只部署了一个节点,因此只显示了一个.
单 endpoint 连接数:即与前面勾选的每个 endpoint 服务建立的连接数,这里默认为 1,表示只建立一个连
接;
单 endpoint 速率:即每个 endpoint 的请求速率,默认为 100,即每秒请求 100 次,可以通过增大该速率增加请求压力;
压测时长:压测进行的时间,默认为20秒.

 

4.4 压测结果显示

5.用TB后台进行压力测试

tb是在本文3.3源码安装的时候得到的可执行程序

5.1 Http协议用例压测指南

本节会介绍如何tb启动压测,之后客户端持续发送Post请求到http服务器,服务端正确返回结果给tb客户端,压测完成后统计回包情况.

TarsdocGitHub在线文档中的相关链接

5.2 Tars协议用例压测指南

TarsdocGitHub在线文档-Tars协议用例压测指南

猜你喜欢

转载自blog.csdn.net/Edidaughter/article/details/114326312