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 倍。