Linux下C++轻量级Web服务器(含源码和测试地址)
Posted Zhang Wenhao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux下C++轻量级Web服务器(含源码和测试地址)相关的知识,希望对你有一定的参考价值。
各位小伙伴们,大家好
源码
Linux下C++轻量级Web服务器TinyWebServer
测试地址
http://101.37.19.43/
公网可访问
访问量通过压力测试
./webbench-1.5/webbench -c 100 -t 10 http://101.37.19.43:80/
./webbench-1.5/webbench -c 1000 -t 10 http://101.37.19.43:80/
访问量可以超过1000
运行结果
欢迎页面
注册
登录
内容
菜单
文件上传
图片
视频
参考 https://developer.mozilla.org/zh-CN/docs/Web/html/Element/video
内容有点粗糙,各位小伙伴有什么建议尽管在评论区提,谢谢。
总结
之前往往用java和tomcat搭建服务器,这次尝试用C++在Linux下搭建轻量级Web服务器,使用的技术包括:
- 使用 线程池 + 非阻塞socket + epoll(ET和LT均实现) + 事件处理(Reactor和模拟Proactor均实现)
的并发模型 - 使用状态机解析HTTP请求报文,支持解析GET和POST请求
- 访问服务器数据库实现web端用户注册、登录功能,可以请求服务器图片和视频文件
- 实现同步/异步日志系统,记录服务器运行状态
轻量级web压测工具http_load的使用
一、http_load简介
基于linux平台的一款针对web服务器的性能压测工具
优点:
1.基于命令行,简单、易于上手。
2.小巧、轻便。
缺点:
1.仅使用于基于web页面的性能测试。
2.测试结果分析有限。
二、编译及其安装
1.下载源码
http_load主页:http://www.acme.com/software/http_load/
wget http://www.acme.com/software/http_load/
2.解压:
tar xf http_load-12mar2006.tar.gz
3.编译安装
http_load采用C语言编写,编译安装需要gcc编辑器,如果没有则需要先安装gcc
yum install gcc
cd http_load-12mar2006
make
make install
如果出现以下错误:
cp:无法创建文件/usr/local/man/man1:没有那个文件目录
则执行:
mkdir /usr/local/man -p
三、使用方法
1.编辑urls文件,在文件中编辑需要测试的URL。
2.命令
./http_load options
options:
-p(parallel) 并发的用户进程数
-f(fetches) 总计的访问次数
-r(rate) 每秒的访问频率
-s(seconds) 连续的访问时间
例:
./http_load -p 1021 -s 10 urls
以上是关于Linux下C++轻量级Web服务器(含源码和测试地址)的主要内容,如果未能解决你的问题,请参考以下文章
C++轻量级Web服务器TinyWebServer源码分析之threadpool篇
10.折线连接--WEB设计器JQUERY插件讲解(含源码)