[Linux 高并发服务器]使用webbench对HTTP服务器进行压力测试
webbench介绍
webbench是一个轻量级的压力测试软件
通过webbench你可以得到下面这些数据
Speed
传输速度
bytes/sec
每秒传输数据量
Requests
请求数量,统计成功和失败次数
最多支持3w并发
测试原理
参考这位大佬的博客
WebBench压力测试工具(详细源码注释+分析)
Linux下使用的服务器压力测试工具,利用fork建立多个子进程,每个子进程在测试时间内不断发送请求报文,建立多个连接,然后由父进程统计:TCP连接成功次数,TCP连接失败次数,从服务器接收的数据量
安装WebBench
archlinux
直接用yay
安装即可
yay webbench
使用WebBench
首先把要测试的服务器运行起来,这里我先测一下自己写的HTTP服务器
然后在终端里输入一下命令
webbench -c 并发数量 -t 测试时间 URL
可以知道在7000并发下,测试10s,我的服务器取得了一下结果,还算可以
Benchmarking: GET http://127.0.0.1:10000/index.html
7000 clients, running 10 sec.
Speed=793998 pages/min, 5250420 bytes/sec.
Requests: 132333 susceed, 0 failed.
顺便测了一下学校的网站
林大OJ
在网络通畅情况下立刻加载出来,在测试的时候再进去就要等一会
锐格登陆界面
7000并发,10s测试就已经有faild出现了
思考
webbench作为一个压力测试工具确实很容易使用,但是其带来的影响是可能会被用来影响正常使用。设想,如果我设置一个长时间的高并发压力测试给锐格,这是否会严重影响到同学们的正常使用?
那么在以后我们搭建一些服务器的时候,如何避免这些恶意压力测试行为呢?这是个值得思考的问题。