# high performance server **Repository Path**: Hk_Lx/performance-server ## Basic Information - **Project Name**: high performance server - **Description**: Reactor高性能服务器,使用多路转接,多线程技术开发。 - **Primary Language**: C++ - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-03-24 - **Last Updated**: 2024-04-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # high performance server #### 介绍 Reactor高性能服务器,使用多路转接,多线程技术开发。 #### 目录介绍 1. buffer:缓冲区临临时保存数据,等待EPOLL就绪在从中拿出数据处理 2. LOG:生产消费模型的日志模块,目前服务区的日志模块还是使用的是同步 3. socket:源码文件 ![Alt text](image-1.png) ##### socket.hpp 1. 可以简单的帮我们搭建起一个服务器,协议需要我们自己通过函数进行设置,支持超时设置,采用的是EPOLL监听。一个监听主线程,和多个子线程进行任务的处理。 2. 如果我们子线程不设置,那么就会将主线程作为监听和任务线程。 ##### http.hpp 1. 在socket.hpp模块的之上,搭建起的http协议模块。、 ##### tools.hpp模块 工具模块,大部分工具模块都放在了http.hpp里面 4. test目录,进行测试的目录,有多个测试项,包括超时设置,大文件传输设置,Content-Length不足的测试。 #### 简单就可以搭建起一个HTTP服务器,可以设置线程数量,超时时间等。 HttpServer server(8080,10,10); server.setBaseDir("wwwroot"); server.Get("/hello",Hello); server.Post("/login",Hello); server.Put("/1234",Putfile); server.Delete("/1234.txt",Hello); server.Start(); ### 在阿里云云服务器上进行的测试配置为 1. 2核(vCPU) 2. 4GiB的内存进行测试的结果,3000个进程同时进行访问,没有测试更多的原因:云服务器吃不消 ![Alt text](image-2.png) ##### 需要添加的 1. 通过myconf.conf文件进行配置,异步的日志系统。 #### 特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)