对网站服务器进行压力测试的不完全指南
warning:
这篇文章距离上次修改已过1014天,其中的内容可能已经有所变动。
warning:这些工具都不能用于攻击,因为这些东西都不能使用proxy多线程并发
这是几个在很久以前就看到的工具
之所以是“压力测试”而不是“攻击”有如下几点原因:
- 不能使用代理伪造攻击,只能本机真实ip
- 可以自定义线程数并会返回测试结果
- 没有针对长时间的压测
info:如果拿来攻击的话,你的ip很快就会被封锁的。
1:Siege
Siege是一款开源的压力测试工具,设计用于评估WEB应用在压力下的承受能力。可以根据配置对一个WEB站点进行多用户的并发访问,记录每个用户所有请求过程的相应时间,并在一定数量的并发访问下重复进行。Siege可以从您选择的预置列表中请求随机的URL。所以siege可用于仿真用户请求负载。
如果不想听我bb,如下是一键安装脚本,直接复制所有代码进入ssh,等待,搞定
在centos7 centos8下完美运行,已亲测
yum install gcc #安装编译工具
wget http://download.joedog.org/siege/siege-4.0.4.tar.gz #下载安装包
tar zxvf siege-4.0.4.tar.gz #解压安装包
cd siege-4.0.4 #切换到解压目录
./configure #生成配置
make #编译
make install #安装
siege.config
使用方法
siege <-c 线程数> [-t 时间] [-r 次数] <带http的网址>
siege -c 1000 -r 600 http://127.0.01/ #1000个用户每个用户请求10次
siege -c 1000 -t 600 http://127.0.0.1/ #1000个用户并发请求600秒
在等待的过程中,不妨可以听我说说实测效果:
可以把服务器的CPU跑满,我用一台6C8G 100Mbps的机器打出20000连接数(最高)
在每次回显的时候都会显示出当前连接速度和连接时间,以不同的颜色表示状态
最后返回的结果还是蛮详细的
唯一缺点是https网站压测配置很麻烦
2:Webbench
Webbench是有名的网站压力测试工具,它是由Lionbridge公司开发。Webbech能测试处在相同硬件上,不同服务的性能以及不同硬件上同一个服务的运行状况。webBech的标准测试可以向我们展示服务器的内容:每秒钟相应请求数和每秒钟传输数据量(JAVA,CGI)进行测试的能力。还有就是他支持对包含SSL的安全网站例如电子商务网站进行静态或动态的性能测试。
info:同样,如果不想听我bb,如下是一键安装指令,直接复制所有代码进入ssh,等待,搞定
yum install ctags wget make apr* autoconf automake gcc gcc-c++ #安装编译工具
wget http://www.ha97.com/code/webbench-1.5.tar.gz #下载webbench
tar zxvf webbench-1.5.tar.gz #解压
cd webbench-1.5 #进入解压目录
make #编译
mkdir /usr/local/man #创建目录,否则安装失败
make install #安装
使用方法
每次使用前,如果没配置环境变量,请先输入如下指令!
cd webbench-1.5
webbench [-c 并发数] [-t 运行测试时间] [带http或https的URL]
例子:webbench -c 500 -t 600 http://127.0.0.1/
如下是我的实测体验:
返回的数据比siege少非常多,有点攻击器那味了
可以压测https站点!并且直接就可以!
中途不会提醒你什么,只会提醒你压测的开始和结束。
备注:webbench最大可以模拟30000个并发连接按照自己配置和需求改
Error:最后,请勿用于非法用途!
dudjdkfid