[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作为一个压力测试工具确实很容易使用,但是其带来的影响是可能会被用来影响正常使用。设想,如果我设置一个长时间的高并发压力测试给锐格,这是否会严重影响到同学们的正常使用?

那么在以后我们搭建一些服务器的时候,如何避免这些恶意压力测试行为呢?这是个值得思考的问题。

Logo

更多推荐