Skip to content

A simple, high-performance, IO multiplexing webserver based on min-heap timer

Notifications You must be signed in to change notification settings

Brilliantrocks/Tinyserver1.5

Repository files navigation

Tinyserver1.5

基于最小堆计时器实现的多线程IO复用高性能web服务器

  • 使用线程池避免了动态生成线程造成的性能下降。
  • 以epoll实现的IO多路复用,可选Proactor/Reactor模型的并发事务处理。
  • 有限状态机模型解析http报文,编写cgi接口支持解析GET和POST方式的报文。
  • 使用mysql数据库储存用户密码数据,实现了注册登陆功能,以便获得服务器端图片视频等数据。
  • 可选同步/异步日志记录服务器的运行状态。
  • 计时器以最小堆的堆顶最小超时时间设置心搏函数计时,较之定长时间心搏计时器性能显著提升,支持计时器删除和修改

服务器框架:

--------

个人服务器实践站点

参考与致谢

  • 理论出自《Linux高性能服务器编程》-游双
  • 初版代码来源TinyWebServer-qinguoyi

细节详解

About

A simple, high-performance, IO multiplexing webserver based on min-heap timer

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published