8000 GitHub - daybreakjack/tinyWS: A C++ Tiny Web Server
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

daybreakjack/tinyWS

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

79 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tinyWS

A C++ Tiny Web Server

版本

  • 多线程版本
  • 多进程版本
    • 版本1:父进程负责 listen 和 accept 连接,子进程负责连接的读写处理。
    • 版本2:所有进程监听同一个 listen sockfd,accept 到新的连接后自己处理连接的读写。所有进程通过竞争设置了PTHREAD_PROCESS_SHARED属性的mutex来获取处理 listen sockfd 的机会,保证了同一时刻只有一个进程监听 listen sockfd 的 IO 事件(只有读事件),解决了惊群问题

测试

版本 短连接QPS 长连接QPS
多线程 8377 31325
多进程1 7650 30828
多进程2 7638 30608

可以看出,处理请求数方面,长连接比短连接能很多,大概多了 4 倍。

About

A C++ Tiny Web Server

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 94.1%
  • C 3.2%
  • CMake 1.0%
  • Roff 1.0%
  • Makefile 0.5%
  • HTML 0.2%
0