Linux下的高性能轻量级Web服务器(八)
8. 压力测试
至此,这个项目就已经完成了,但一个服务器项目,你在本地浏览器键入localhost:9009发现可以运行无异常还不够,你需要对他进行压测(即服务器并发量测试),压测过了,才说明你的服务器比较稳定了。
这里使用了Webbench软件来进行测试(项目里已经包含此软件),在 webbench-1.5 目录下打开终端运行命令(如果提示权限不够,请使用chmod命令修改文件或目录权限)。
./webbench -c 9000 -t 5
http://ip:port/
-c 表示客户端数, -t 表示时间
-c 后的参数请根据服务器硬件配置进行合理选择
然后就可以得到压测结果了

- 并发连接总数:8500
- 访问服务器时间:5s
- 所有访问均成功
- QPS:5483
最后,我们再来回顾一下服务器的框架:

项目已上传到百度云,需要的请自行下载
链接:https://pan.baidu.com/s/1JNshVc-0S3ilET5RVzMHpQ
提取码:ZYZH
快速运行
- 服务器测试环境
Ubuntu版本20.04.5 LTS
MySQL版本8.0.32
- 浏览器测试环境
Windows、Linux均可
Chrome
FireFox
其他浏览器暂无测试
- 创建数据库和表
// 建立yourdb库
create database webserver;
// 创建user表
USE webserver;
CREATE TABLE user(
username char(50) NULL,
passwd char(50) NULL
)ENGINE=InnoDB;
// 添加数据
INSERT INTO user(username, passwd) VALUES('name', 'passwd');
- 修改main.c中的数据库初始化信息
// user和password修改为数据库的登录名和密码
// webserver修改为上述创建的数据库名
connPool->init("localhost", "user", "password", "webserver", 3306, 8);
- 修改http_conn.cpp中的root路径
// 修改为root文件夹所在路径,可在root目录下打开终端,使用pwd命令查看当前路径
const char* doc_root="/home/TinyWebServer/root";
- 生成server
make server
- 启动server
./server port
- 使用浏览器访问
ip:port

浙公网安备 33010602011771号