代码拉取完成,页面将自动刷新
用C++实现的高性能WEB服务器
Epoll
与线程池
实现【单Reactor、多线程】的高并发服务器模型;WebServer项目——webserver详解
WebServer项目——httpconnect详解
WebServer项目——buffer详解
WebServer项目——epoller详解
WebServer项目——timer详解
WebServer项目——threadpool详解
WebServer项目——MySQL数据库使用详解
WebServer项目——日志库Log详解
拷贝整个项目文件,在终端中使用
// 编译程序
./autobuild.sh
/* ./可执行文件名 端口号 定时时间 触发模式 线程数量 日志等级 */
./myserver 9999 60 1 8 3
配置MySQL数据库,导入webserver库(具体过程)
压力测试
./webbench-1.5/webbench -c 10 -t 10 http://ip:port/
./webbench-1.5/webbench -c 100 -t 10 http://ip:port/
./webbench-1.5/webbench -c 1000 -t 10 http://ip:port/
./webbench-1.5/webbench -c 10000 -t 10 http://ip:port/
用我自己的测试环境跑了一下
10 | 100 | 1000 | 10000 | |
---|---|---|---|---|
日志关、定时检测关 | 12184 | 14171 | 14443 | 17010 |
定时检测关 | 8021 | 8250 | 8102 | 7586 |
日志关 | 8449 | 10119 | 9889 | 9491 |
在关闭日志、关闭定时检测的模式下,对LT和ET模式进行测试
listenFd、connectFd | 10 | 100 | 1000 | 10000 |
---|---|---|---|---|
LT+ET | 8539 | 9480 | 11287 | 17010 |
LT+LT | 8462 | 9992 | 9945 | 8770 |
ET+ET | 8358 | 9107 | 9346 | 7981 |
ET+LT | 8411 | 9552 | 9451 | 8283 |
QPS对比 【markparticle】和【老猫轩仔】的web服务器,并将测试情况记录如下表
10 | 100 | 1000 | 10000 | |
---|---|---|---|---|
markparticle | 4657 | 4624 | 4549 | 4225 |
老猫轩仔 | 13530 | 13690 | 13688 | 12345 |
本项目 | 12184 | 14171 | 14443 | 17010 |
横坐标为并发客户端数量;表格数据为QPS,单位page/s 总结:
regex
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。