This is stars and forks stats for /linyacool/WebServer repository. As of 19 Apr, 2024 this repository has 6849 stars and 2037 forks.
A C++ High Performance Web Server Introduction 本项目为C++11编写的Web服务器,解析了get、head请求,可处理静态资源,支持HTTP长连接,支持管线化请求,并实现了异步日志,记录服务器运行状态。 Part Ⅰ Part Ⅱ Part Ⅲ Part Ⅳ Part Ⅴ Part Ⅵ 并发模型 连接的维护 版本历史 测试及改进 项目目的 面试问题 Envoirment OS: Ubuntu 14.04 Complier: g++ 4.8 Build ./build.sh Usage ./WebServer [-t thread_numbers] [-p port] [-l log_file_path(should begin with '/')] Technical points 使用Epoll边沿触发的IO多路复用技术,非阻塞IO,使用Reactor模式 使用多线程充分利用多核CPU,并使用线程池避免线程频繁创建销毁的开销 使用基于小根堆的定时器关闭超时请求 主线程只负责accept请求,并以Round Robin的方式分发给其它IO线程(兼计算线程),锁的争用只会出现在主线程和某一特定线程中 使用eventfd实现了线程的异步唤醒 使用双缓冲区技术实现了简单的异步日志系统 为减少内存泄漏的可能,使用智能指针等RAII机制 使用状态机解析了HTTP请求,支持管线化 支持优雅关闭连接 Model 并发模型为Reactor+非阻塞IO+线程池,新连接Round Robin分配,详细介绍请参考并发模型 代码统计 Others 除了项目基本的代码,进服务器进行压测时,对开源测试工具Webbench增加了Keep-Alive选项和测试功能: 改写后的Webbench
A C++ High Performance Web Server Introduction 本项目为C++11编写的Web服务器,解析了get、head请求,可处理静态资源,支持HTTP长连接,支持管线化请求,并实现了异步日志,记录服务器运行状态。 Part Ⅰ Part Ⅱ Part Ⅲ Part Ⅳ Part Ⅴ Part Ⅵ 并发模型 连接的维护 版本历史 测试及改进 项目目的 面试问题 Envoirment OS: Ubuntu 14.04 Complier: g++ 4.8 Build ./build.sh Usage ./WebServer [-t thread_numbers] [-p port] [-l log_file_path(should begin with '/')] Technical points 使用Epoll边沿触发的IO多路复用技术,非阻塞IO,使用Reactor模式 使用多线程充分利用多核CPU,并使用线程池避免线程频繁创建销毁的开销 使用基于小根堆的定时器关闭超时请求 主线程只负责accept请求,并以Round Robin的方式分发给其它IO线程(兼计算线程),锁的争用只会出现在主线程和某一特定线程中 使用eventfd实现了线程的异步唤醒 使用双缓冲区技术实现了简单的异步日志系统 为减少内存泄漏的可能,使用智能指针等RAII机制 使用状态机解析了HTTP请求,支持管线化 支持优雅关闭连接 Model 并发模型为Reactor+非阻塞IO+线程池,新连接Round Robin分配,详细介绍请参考并发模型 代码统计 Others 除了项目基本的代码,进服务器进行压测时,对开源测试工具Webbench增加了Keep-Alive选项和测试功能: 改写后的Webbench
repo | techs | stars | weekly | forks | weekly |
---|---|---|---|---|---|
yuzu-emu/yuzu | C++KotlinCMake | 30.9k | 0 | 2.7k | 0 |
gnuradio/gnuradio | C++PythonC | 4.5k | +7 | 1.8k | +5 |
minetest/minetest | C++LuaC | 9.5k | +28 | 1.9k | +4 |
freddier/hyperblog | HTMLCSS | 8.6k | 0 | 12.7k | 0 |
github/opensource.guide | HTMLJavaScriptSCSS | 13.1k | 0 | 16.3k | 0 |
adityatelange/hugo-PaperMod | HTMLCSSJavaScript | 7.2k | +35 | 2.1k | +6 |
An0nUD4Y/blackeye | HTMLCSSJavaScript | 2.1k | 0 | 1.6k | 0 |
wesbos/JavaScript30 | HTMLCSSJavaScript | 25.4k | 0 | 35.1k | 0 |
saurabhdaware/text-to-handwriting | HTMLJavaScriptCSS | 4.6k | +1 | 1.1k | +2 |
qkqpttgf/OneManager-php | PHPHTMLJavaScript | 3.6k | 0 | 2.9k | 0 |