HTTP性能测试工具Siege 简介

简介: HTTP性能测试工具Siege 简介

大家好,我是阿萨。 今天给大家介绍一款简单方便且易用的性能测试工具Siege.


Siege 是什么?


Siege是一个开源回归测试和基准测试工具。它可以使用用户定义的模拟用户数量对单个URL进行压力测试,也可以将许多URL读入内存并同时对它们进行压力测试。它的报告中记录总命中数、传输的字节数、响应时间、并发性和返回状态。Siege支持HTTP/1.0和1.1协议、GET和POST指令、cookie、事务日志和基本身份验证。它的功能可以根据每个用户进行配置。


内容介绍:


https://github.com/JoeDog/siege

下载地址:

http://download.joedog.org/siege/siege-latest.tar.gz


安装方法:


Mac 为例

解压zip 包之后, 打开Terminal, 执行如下命令即可

$ ./configure 
 $ make

如果有老版本先卸载老版本,然后再安装新版本。

$ make uninstall   
  $ make install


https://github.com/JoeDog/siege/blob/master/INSTALL

其他情况,请参考官网安装方法进行安装.


Siege 常用命令:


200个并发对百度发送请求100次

siege -c 200 -r 100 http://www.baidu.com

对urls.txt中列出所有的网址进行压测

siege -c 200 -r 100 -f urls.txt

随机选取urls.txt中列出的网址,按照100*100的并发度进行测试

siege -c 100 -r 100 -f urls.txt -i

指定http请求头 文档类型

siege -H "Content-Type:application/json" -c 200 -r 100 -f urls.txt -i -b

发送post请求,在网址后添加POST说明,并且紧跟参数在其后

siege -c 100 -r 100 http://www.baidu.com/ POST k1=v1&k2=v2


要启用HTTPS支持,您必须在系统上同时安装openssl和openssl-devel。

要启用gzip传输编码,你需要在你的系统上同时安装zlib和zlib-devel。

所有先决条件必须在编译时安装。如果你在编译完siege之后添加了库,你必须重新运行./configure、make和install。

Siege的先决条件不是依赖性。如果这些库不存在,应用程序仍将编译并运行。它只是不包含这些功能。


参数:


-V,——version 版本号。

-h,——help  帮助

-C,——config 显示当前配置。

-v,——verbose 将通知打印到屏幕。

-q,——quiet  关闭verbose并抑制输出。

-g,——get 下拉HTTP头并显示事务。非常适合应用程序调试。

-c,——concurrent=NUM 并发用户,默认为10

-r,——reps=NUM 运行测试的次数。

-t,——time=NUMm 定时测试,其中“m”是修饰符 S, m或H时间=1H, 1小时测试。

-d,——delay=NUM 时间延迟,每次请求前的随机延迟

-b,——benchmark 请求之间没有延迟。

-i,——internet 用户模拟,随机命中url。

-f,——file= file 选择指定的url文件。

-R,——rc=FILE  指定一个siegerc文件

-l,——log[=FILE] 日志到文件。如果未指定FILE,则使用default: PREFIX/var/siege.log

-m,——mark="text" 用字符串标记日志文件。在0.001到NUM之间(未计入统计数字)

-H,——header="text" 添加一个请求头(可以是多个)

-A,——user-agent="text" 设置请求中的user-agent

-T,——content-type="text" 设置请求中的内容类型

END


相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
相关文章
|
18天前
|
测试技术 C语言
网站压力测试工具Siege图文详解
网站压力测试工具Siege图文详解
26 0
|
1月前
|
测试技术
现代软件测试中的自动化工具与挑战
传统软件测试面临着越来越复杂的系统架构和不断增长的测试需求,自动化测试工具应运而生。本文将探讨现代软件测试中自动化工具的应用和挑战,深入分析其优势与局限性,为软件测试领域的发展提供思路和启示。
|
1月前
|
jenkins 测试技术 持续交付
现代软件测试中的自动化工具与挑战
随着软件开发领域的不断发展,自动化测试工具在测试过程中扮演着越来越重要的角色。本文将探讨现代软件测试中自动化工具的应用及面临的挑战,旨在帮助开发人员和测试人员更好地理解和应对自动化测试中的问题。
|
3天前
|
JSON 测试技术 API
Python的Api自动化测试使用HTTP客户端库发送请求
【4月更文挑战第18天】在Python中进行HTTP请求和API自动化测试有多个库可选:1) `requests`是最流行的选择,支持多种请求方法和内置JSON解析;2) `http.client`是标准库的一部分,适合需要低级别控制的用户;3) `urllib`提供URL操作,适用于复杂请求;4) `httpx`拥有类似`requests`的API,提供现代特性和异步支持。根据具体需求选择,如多数情况`requests`已足够。
9 3
|
5天前
Swagger基本使用与RestTemplate发送http接口测试
Swagger基本使用与RestTemplate发送http接口测试
14 1
|
18天前
|
测试技术 Linux Apache
网站压力测试工具webbench图文详解
网站压力测试工具webbench图文详解
12 0
|
20天前
|
安全 测试技术
深入理解白盒测试:方法、工具与实践
【4月更文挑战第7天】 在软件开发的质量控制过程中,白盒测试是确保代码逻辑正确性的关键步骤。不同于黑盒测试关注于功能和系统的外部行为,白盒测试深入到程序内部,检验程序结构和内部逻辑的正确性。本文将探讨白盒测试的核心技术,包括控制流测试、数据流测试以及静态分析等方法,同时介绍当前流行的白盒测试工具,并讨论如何在实际项目中有效实施白盒测试。文章的目标是为软件测试工程师提供一份综合性指南,帮助他们更好地理解和应用白盒测试技术。
|
26天前
|
Java 测试技术 API
软件测试中的自动化工具与策略
软件测试是确保软件质量的重要环节,而自动化测试工具和策略的应用在提高测试效率和准确性方面发挥着重要作用。本文将介绍几种常见的自动化测试工具,并探讨在软件测试中应用自动化测试的最佳实践和策略。
|
28天前
|
Web App开发 Java 测试技术
深入理解与应用软件自动化测试工具Selenium
随着软件开发的快速发展,软件测试在保证产品质量方面发挥着越来越重要的作用。其中,自动化测试以其效率高、成本低的特点受到了广大开发者的欢迎。本文主要介绍了自动化测试工具Selenium的基本概念、原理以及在实际开发中的应用,旨在帮助读者更好地理解和使用Selenium进行高效的自动化测试。
22 4
|
1月前
|
人工智能 测试技术 虚拟化
现代软件测试中的自动化工具与技术
随着信息技术的迅猛发展,现代软件开发和测试领域也在不断创新。本文将探讨现代软件测试中自动化工具与技术的应用。通过分析自动化测试的优势、挑战以及最佳实践,帮助读者更好地理解当前软件测试领域的发展趋势,并为实际工作提供参考。
19 1