news 2026/4/23 5:06:46

性能测试工具 - Siege

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
性能测试工具 - Siege

1、前言

性能测试,作为一个不可或缺的软件质量保证环节,旨在评估和提升产品在各种负载情况下的运行效率、稳定性和响应速度。它不仅仅是发现系统瓶颈,而是通过科学的方法和工具,确保我们的产品在面对大量用户并发访问、大数据处理或高强度运算时,能够保持流畅、稳定和高效。

本文将介绍一款免费的性能测试工具 - Siege,可以进行负载测试和基准测试。

2、简介

Siege是一个http负载测试和基准测试的性能测试工具。它旨在让web开发人员测量他们的代码,看看它在互联网上的加载情况。Siege支持基本身份验证、Cookie、HTTP、HTTPS和FTP协议。它允许用户使用可配置数量的模拟客户端访问服务器,从而来验证并发情况下服务器的性能。

Siege的持续时间是以交易、模拟用户的总数和每个模拟用户重复攻击服务器的次数来衡量的,因此,20个并发用户50次是1000个事务的测试长度。性能指标包括测试经过的时间、传输的数据量(包括请求头)、服务器的响应时间、事务速率、吞吐量、并发性和返回OK的次数,这些指标在每次运行结束时都会被量化并报告。

平台支持:

Siege是在GNU/Linux上编写的,并已成功移植到AIX、BSD、HP-UX和Solaris。它可以在大多数System V UNIX变体和大多数较新的BSD系统上编译。由于Siege依赖于微软不支持的POSIX.1b功能,因此它无法在Windows上运行。当然,你可以使用Siege来测试Windows服务器。

官方网址:

https://www.joedog.org/siege-home/

3、安装

1、安装包下载地址:
https://download.joedog.org/siege/

例如下载siege-4.1.6.tar.gz版本,之后依次进行解压缩、编译、安装等操作。

tar -xvf siege-4.1.6.tar.gz cd siege-4.1.6 ./configure make make install

2、Mac环境下安装:

brew install siege

4、快速上手

安装完成后,查看安装是否成功,可以直接在终端输入siege命令即可。

参数详解:

-V, --version VERSION,打印版本号。 -h, --help HELP,打印此部分。 -C, --config CONFIGURATION,显示当前配置。 -v, --verbose VERBOSE,将通知打印到屏幕上。 -q, --quiet QUIET,关闭详细功能并抑制输出。 -g, --get GET,下拉HTTP请求头并显示交易,非常适合应用程序调试。 -p, --print PRINT,就像GET一样,只打印整页。 -c, --concurrent=NUM 并发用户,默认值为10。 -r, --reps=NUM REPS,运行测试的次数,不能与-t同时存在。 -t, --time=NUMm 定时测试,其中“m”是修饰符S、M或H,例如:--time=1H,1小时测试。 -d, --delay=NUM 时间延迟,每次请求前的随机延迟。 -b, --benchmark 基准测试:请求之间没有延迟。 -i, --internet 互联网用户模拟,随机点击网址。 -f, --file=FILE FILE,选择一个特定的URL文件。 -R, --rc=FILE RC,指定siegerc文件。 -l, --log[=FILE] 日志到文件。如果未指定FILE,使用默认值:PREFIX/var/siege.log。 -m, --mark="text" MARK,用字符串标记日志文件。在.001和数字之间(不计入统计数据)。 -H, --header="text" 在请求中添加一个请求头(可以是多个)。 -A, --user-agent="text" 在请求中设置用户代理。 -T, --content-type="text" 设置请求中的内容类型。 -j, --json-output JSON OUTPUT,将最终统计数据以JSON格式打印到stdout。 --no-parser NO PARSER,关闭HTML页面解析器。 --no-follow NO FOLLOW,不关注HTTP重定向。

1、终端输入负载命令

例如对URL进行并发数3个,执行2次的负载测试。

siege -c 3 -r 2 https://www.httpbin.org/get

2、执行结果

总共测试次数:6次点击 成功次数百分比:100.00% 总共耗时多少秒:2.78秒 总共传输数据:0.00 MB 响应时间:1.27秒 平均每秒处理请求数:2.16转/秒 吞吐量:0.00 MB/秒 最高并发:2.74 成功的请求数:6 失败的请求数:0 每次传输所花最长时间:1.55 每次传输所花最短时间:0.86

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/7 19:41:35

新能源新篇:JAVA构建充电桩物联网解决方案

JAVA通过高并发框架、微服务架构、设备通信协议支持及全栈开发能力,为充电桩物联网系统提供了核心技术支持,实现了设备管理智能化、用户体验便捷化、运营效率高效化。 以下是具体技术实现与功能解析: 一、技术实现 高并发通信服务&#xff1…

作者头像 李华
网站建设 2026/4/13 14:48:00

路由器漏洞深度解析:远程管理接口暴露与默认凭证风险

通过诈骗诱捕者合作发现路由器漏洞 简介: 零日漏洞,即供应商未知且无可用补丁的漏洞,我们一直有所耳闻。而这次漏洞的发现要归功于另一位研究员。我虽然可能忘记了他的名字,但我确实是在Ashton Bingham创建的名为“Trilogy Media…

作者头像 李华
网站建设 2026/4/18 6:25:50

易卡随行JAVA名片系统:功能全解析与源码

易卡随行Java名片系统:功能全解析与源码架构深度剖析一、系统核心功能解析易卡随行系统通过模块化设计,将传统名片从静态信息载体升级为动态商务社交枢纽,其核心功能覆盖名片全生命周期管理:智能名片生成与编辑模板库:…

作者头像 李华