用「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还有很多其它参数,请一并参考手册。

利器: 用Siege做Web服务器压测的更多相关文章

  1. web服务器压测工具siege、ab

    web服务器压测工具也挺多,这里只介绍我用过的这两种--siege(for linux).ab(for windows). 一.siege 1.简介: Siege是一款开源的压力测试工具,设计用于评估 ...

  2. Nginx是什么,有什么优点?为什么选择Nginx做web服务器软件?(经典经典)

    1.基础知识 代理服务器:    一般是指局域网内部的机器通过代理服务器发送请求到互联网上的服务器,代理服务器一般作用在客户端.应用比如:GoAgent,FQ神器.    一个完整的代理请求过程为:客 ...

  3. 网站(Web)压测工具Webbench源码分析

    一.我与webbench二三事 Webbench是一个在linux下使用的非常简单的网站压测工具.它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能.Webbench ...

  4. Linux服务器压测/拷机软件收集

    最近公司采购了一批服务器,于是收集了一些拷机软件来压测服务器硬件性能.硬件的稳定相对来说比较重要,7x24小时无间断运行,主要看三个硬件:CPU.内存.硬盘. 下面是收集的一些教程,可能网址已经失效了 ...

  5. 使用jmeter做简单的压测(检查点、负载设置、聚合报告)

    1.添加断言(检查点) 在需要压测的接口下添加--断言--响应断言,取接口响应中包含有的数据即可 检查点HTTP请求-->断言-->响应断言1.名称.注释2.Apply to//作用于哪里 ...

  6. jmeter做简单的压测

    一.JMeter概述jmeter除了可以做借口测试外,还可以做压力测试:首先介绍jmeter中各个组件在压力测试中扮演的角色 1)线程(Threads(Users))即虚拟用户,线程组里可设置需要模拟 ...

  7. Nginx做web服务器反向代理

    实验目的 通过nginx实现反向代理的功能,类似apache反向代理和haproxy反向代理 工作中用nginx做反向代理和负载均衡的也越来越多了 有些公司从web服务器到反向代理,都使用nginx. ...

  8. 压力测试(六)-阿里云Linux服务器压测接口实战

    1.SpringBoot 接口打包,并用jar包方式部署 简介:用jar包方式在控制台进行启动 打包 mvn package && java -jar target/gs-spring ...

  9. Jmeter非GUI界面对阿里云服务器压测

    一.Jmeter非GUI界面 参数讲解 讲解:非GUI界面,压测参数讲解             -h 帮助            -n 非GUI模式            -t 指定要运行的 JMe ...

随机推荐

  1. maven学习(二)

    为了兼容之前基于ant构建的项目发布包结构,在基于maven做构建的时候,需要自定义打包方式. maven的maven-assembly-plugin插件支持任意格式的打包,比如:dir,zip等形式 ...

  2. cocos2dx jsoncpp

    jsoncpp下载 http://sourceforge.net/projects/jsoncpp/ 下载解压后用到的是include\json下面的头文件跟src\lib_json下的文件. 导入头 ...

  3. eclipse中,把java函数代码折叠/展开

    首先,在eclipse 中开启设置代码折叠功能 1. windows->perferences->General->Editors->Structured Text Edito ...

  4. visual studio 因为文件过期重新编译项目

    最近visual studio总是莫名其妙的重新编译某个工程,  导致大量项目rebuild . 蛋都碎了... 查了好久, 这种无厘头的问题最烦了 参考这篇文章, http://blogs.msdn ...

  5. 小白日记36:kali渗透测试之Web渗透-手动漏洞挖掘(二)-突破身份认证,操作系统任意命令执行漏洞

    手动漏洞挖掘 ###################################################################################### 手动漏洞挖掘 ...

  6. ASP.NET MVC and jqGrid 学习笔记 6-增删改操作

    程序结构: Member.cs CRUD.cshtml CRUD.js HomeController 一.Model public class Member { [Key] public int No ...

  7. 隐藏tabBar页面跳转后会再布局一次,

    隐藏tabBar有2种方式 1,在sourceController中隐藏目的控制器的tabBar - (void)prepareForSegue:(UIStoryboardSegue *)segue ...

  8. u-boot移植为tiny6410步骤

    1. 修改顶层Makefile文件 2. 修改arch/arm/cpu/arm1176/s3c64xx/cpu_init.S 3. 修改arch/arm/cpu/arm1176/s3c64xx/Mak ...

  9. 【数论,思路】HDU-5288;多校#1-1001

    2015 Multi-University Training Contest 1  1001 /* Problem: HDU-5288,多校#1 1001 Tips: 数学.思路 Date: 2015 ...

  10. Netbackup磁带过期处理

    bpexpdate -m <mediaid> -d 0 如果不通过,看是否被其他media server写入数据.使用 nbemmcmd -listhost 查看所有media serve ...