学习Linux网络编程,实现Linux下C++文件服务器。
- 操作系统 linux, ubuntu 18.04
- 编译器 g++ 7.4.0
- 利用Epoll边沿触发的IO多路复用技术与线程池实现多线程的Reactor并发模型
- 使用正则和有限状态机解析HTTP请求报文,支持GET请求
- 利用标准库容器封装char,实现自动增长的缓冲区
- CPU:Intel i5-8400(六核心六线程)
- 内存:8G
- linux, ubuntu 18.04, g++ 7.4.0
Webbench是有名的网站压力测试工具。
- 测试处在相同硬件上,不同服务的性能以及不同硬件上同一个服务的运行状况。
- 展示服务器的两项内容:每分钟输出的页面数和每秒钟传输数据量。
-
测试样例
./webbench -c 10500 -t 5 http://192.168.1.107:9006/
-
参数
-c
表示客户端数-t
表示时间
Webbench对服务器进行压力测试,经压力测试可以实现上万的并发连接.
- 并发连接总数:10500
- 访问服务器时间:5s
- 每分钟输出页面数:449460 pages/min
- 每秒钟传输数据量:6746377 bytes/sec
- 所有访问均成功
- 实现定时器,关闭超时的非活动连接
- 实现日志系统,记录服务器运行状态
- 《linux高性能服务器编程》游双
- TinyWebServer