[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作为一个压力测试工具确实很容易使用,但是其带来的影响是可能会被用来影响正常使用。设想,如果我设置一个长时间的高并发压力测试给锐格,这是否会严重影响到同学们的正常使用?
那么在以后我们搭建一些服务器的时候,如何避免这些恶意压力测试行为呢?这是个值得思考的问题。
|