accept确实很难测试惊群,也很难处理。
正好,主线程初始化系统之后,没事了,就让他进行accept,充当接生婆的角色。生出一个就丢进epoll一个,这孩子以后的事情就不归它管了。
这系统开始没有协程。发现一些家伙长时间进行IO占死一个线程,影响了其他人的服务。后来添加的协程。
使用协程后,单个任务的响应略有延长,但总体吞吐量和流畅性提高了。
【 在 hgoldfish 的大作中提到: 】
: 这个是基于处理 socket 连接,源于 unix 系统可以由多个线程抢同一个 listening socket. 这个机制受系统的影响比较大,有一定的可能性几个线程抢了所有的 accepted socket, 而大部分线程饿死。
: 所以如果协程是处理其它事情,或者想要更好的负载均衡效果,最好是搞自定义的队列。
:
--
修改:ylh0315 FROM 221.218.61.*
FROM 221.218.61.*