利器: 用Siege做Web服务器压测
用「Web压测」关键词检索,能找到好多进行压测的工具,比如ab、Http_load、Webbench、Siege这些,不过今天并不是要对这些工具做对比,毕竟我们只是想得到一个结果。本文主要介绍Siege,因为Siege是上面四者中,在Mac上安装和使用最便利的,所以果断就是它了!
准备工作
在压测开始前,你需要确保你的open files
足够大,否则会报TOO MANY FILES OPEN
错误,可以通过ulimit -a
查看,如下图:
使用ulimit -n 10000
可以修改该值。不过这种修改并不是永久的,关闭终端会话,又会恢复回来。
安装
brew install siege
使用
siege -c 1000 -t 5s URL
siege -c 1000 -t 5s -f URL_File_Name
上面是siege
的两种使用方法,第一种是对指定站点进行压测,第二种是对文件中包含的若干URL进行批量测试。
-c
并发数-t
压力测试时间,可以在时间后加单位,具体查帮助,上面表示的是压测时间持续5秒-r
重复次数,与-t
表达方式不同,但含义相同,设一个即可-f
包含URL的文本名字-b
BENCHMARK模式,请求之间无需延迟
输出结果
Transactions 总测试数
Availability 成功率
Elapsed time 总用时
Data transferred 总共传输数据
Response time 响应耗时
Transaction rate 每秒处理请求数
Throughput 平均每秒传输数据量
Concurrency 实际最高并发
Successful transactions 成功处理次数
Failed transactions 失败处理请求数
Longest transaction 传输所花最长时间
Shortest transaction 传输所花最短时间
最后说明下 Siege 能支持GET/POST两种请求,不过格式略有区别,并且上面罗列的只是Siege的部分参数,Siege还有很多其它参数,请一并参考手册。
最新文章
- Highcharts指南
- Android深度探索--HAL与驱动开发----第八章读书笔记
- javascript --- 实时监听输入框值的变化
- web文件操作常见安全漏洞(目录、文件名检测漏洞)
- Objective-C的面向对象中,类有真正的私有方法和私有属性么?
- Html - 仿QQ空间右下角工具浮动块
- php获取某年某月的天数 【转】
- iOS symbolicatecrash崩溃日志分析
- 【nginx运维基础(5)】Nginx的location攻略
- asp.net字符串分割函数用法
- CSS那些事儿-阅读随笔2(选择符的组合与优先级/权重)
- A题笔记(13)
- C++ Primer 5th 第9章 顺序容器
- FileUpload
- HTML+CSS - 前端设计的小技巧(持续更新......)
- Gentoo/Funtoo USE标记介绍
- js深入理解构造函数和原型对象
- KB奇遇记(7):不靠谱的项目实施计划
- java环境变量最佳配置
- 树莓派控制高电平蜂鸣器(c语言+新手向)