今天给大家推荐一款C#开发的轻量级Web应用程序压测工具LoadTestToolbox,LoadTestToolbox使用.NET 6开发。它提供了一种可靠的方式来模拟高负载情况,以确定系统的瓶颈和性能极限。
解决方案
使用方式
下载对应版本的LoadTestToolbox,我使用的是win-x64版本的,可以看到,LoadTestToolbox提供了三种工具:drill
、hammer
和nailgun
。
参数
了解各命令使用方式之前,先要了解下各命令的选项,LoadTestToolbo支持的选项包括:
必选参数:
-u/--url
:要发送到的网址
-f/--filename
:要将图表输出到的文件
可选参数
-m/--method
:要发送的 HTTP 方法(默认:GET)
-H/--header
:要发送的 HTTP 标头(默认:无)
-b/--body
:要发送的 HTTP 正文(默认:无)
drill必需的参数
-r/--rps
:每秒要发送的请求数
-d/--duration
:发送请求的秒数
hammer必需的参数
--min
:要发送的最小请求数
--max
:要发送的最大请求数
nailgun必需的参数
-r/--requests
要发送的请求数
在了解了各命令需要的参数选项后,我们可以尝试使用各条命令进行测试了。
1、drill
Drill 通过在较长的时间段内以一致的间隔不断请求页面来帮助衡量长期稳定性。例如
ltt drill --url https://www.baidu.com/ --rps 500 --duration 10 --filename baidu.png
百度:我…,为什么是我?
上述命令中,表示LoadTestToolbox 每秒将发出 500 个请求(以一致的 20 毫秒间隔)持续 10 秒。请求完成后,将结果输出到指定的文件。
结果
2、hammer
Hammer 通过使用给定的并发请求范围“锤击”指定的 URL 来帮助测量负载峰值,并返回每个请求的平均响应时间。例如:
ltt hammer --url https://www.baidu.com/ --min 1 --max 100 --filename baidu.png
百度:我…,为什么又是我?
上述命令将同时发出 1 个请求,然后是 2 个,然后是 3 个,依此类推,最多 100 个。LoadTestToolbox 的Hammer 命令从10到100,每一次会增加10并发个请求。100到1000,每一次增加100个并发请求,以此类推。请求完成后,会将结果输出到指定文件。
结果
3、nailgun
Nailgun 显示指定的 URL 如何处理单个大量请求。例如:
ltt nailgun --url https://www.baidu.com/ --requests 1000 --filename baidu.png
百度:我…,为什么老是我?
上述的命令一次发送 1000 个请求,并记录每个请求的响应时间。
结果
好啦,LoadTestToolbox 的功能就介绍到这里啦,有兴趣的同学可以自己下载源码研究,也可以下载发行版直接使用。
CSDN下载地址:https://download.csdn.net/download/sd2208464/88081997
也可以点击下方公众号卡片,关注我,回复
1007
免费下载!