Fork me on GitHub

开源的类似于Apache ab的压力测试命令行工具SuperBenchmarker

 

SuperBenchmarker 是ㄧ个开源的类似于Apache ab的压力测试命令行工具。可以在 .NET 4.52+ 或者 .NET Core 2.0+ 平台上运行。

可支持Get、Post、Put、Delete这些调用方式,调用时能指定Concurrent user、Request数、Header template…等。

可以从Github、Chocolatey这两种方式获得。

Github用户可在download目录内取得编译好的程序主文件

clip_image002

Chocolatey使用者可输入下列命令进行下载

cinst SuperBenchmarker

程序的作者是建议用Chocolatey去获得程序主文件,因为放置的程序主文件已经被作者用ILMerge将依赖的组件合并,获得后就可直接使用。

程序的使用方式可直接在命令行下输入sb查看,里面会有程序的使用方式、参数、及简易的使用范例

clip_image004

其中比较重要的参数大概有下列几个

-u 可用来指定要压测的网站或是API

-n 可用来指定要压的Request数量

-c 可用来指定Concurrent Request数量

-m 可用来指定要使用的HTTP Method

-h 可用来指定要显示HTTP Header

-q 可用来指定要显示Cookie

所以我们要发送1000个Request去测试腾讯网的话 可以输入命令

sb -u https://www.qq.com -n 1000

要发送1000个Request, 且同时间可能有10个Concurrent Request去测试腾讯网的话 可以输入命令

sb -u https://www.qq.com -n 1000 -c 10

要在发送命令后显示Header的话, 可带入参数-h

sb -u https://www.qq.com -n 1000 -c 10 -h

要在发送命令后显示Cookie, 可带入参数-q

sb -u https://www.qq.com -n 1000 -c 10 -h -q

命令运行的最后我们都会看到类似下面这样的画面:

clip_image006

这边有简易的测试统计,可以看出每秒可处理多少的Request、最大的处理时间、最小的处理时间、平均的处理时间、以及压了这么多次的API,依比例分大概在哪个范围。

同时还有网页来展现测试统计结果

clip_image008

这些数值有助我们评估网站或是API的性能与负载量。 除了看这些数据外,这边建议也可以在压的时候看一下Server上的CPU Loading,磁盘IO,以及内存的使用状况,甚至可以用性能监视器拉些数值来看。

相关链接

posted @ 2019-02-13 17:05 张善友 阅读(...) 评论(...) 编辑 收藏