Skip to content

SUSTYuxiao/high-performance-server

Repository files navigation

PX-High-Performance-HTTP-Server

Last edit: 2018-06-03

TOC

版本 特性 压测 框架 Future 环境

整体流程说明:传送门


版本

  • V 0.1 线程池+监听+非阻塞 ,迁移到Linux(Mac下不支持epoll)
  • V 0.2 Timer(惰性删除的优先级队列)
  • V 0.3 完成基本框架,有限状态机解析报头 //TODO

通过本项目,对计算机网络相关知识进行系统总结与实现

同时为下一个应用性项目做铺垫

特性

  • 线程池
    • 以CPU核心数决定线程数,减少切换开销
  • 非阻塞IO
    • 事件驱动模型epoll(Linux)
    • 事件驱动模型kqueue(BSD)//TODO
  • 定时器
    • 小堆结构,维护成本 O(log n)
    • 惰性删除,减少 malloc 开销
  • 有限状态机
    • 高效解析HTTP

压测

TODO

框架

TODO

Future

  • 跨平台(BSD)
  • 用C++重写(可维护性)
  • 服务器缓存(性能优化)
  • 日志系统
  • 应用
    • 结合高并发流媒体服务器的IOS防录屏视频播放器(swift)
    • 跨站书批

环境

  • 硬件
    • i5-7360U
    • LPDDR3 8G
  • OS
    • macOS 13.4
    • centos 7.5(虚拟机)单核/ 2G

About

a performance server base epoll, thread_poll and so on

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published