epoll_wait监听事件延迟问题记录
今天在调试服务时,发现一个现象,epoll在监听listen套接字时会出现延迟返回的现象。
从抓包数据分析,报文几分钟前就已经到达网卡,但是服务阻塞在epoll_wait这边大概60s的时间才监听到读事件,导致请求处理缓慢。
对于这种现象百思不得其解。
通过观察Accept Queue,发现有堆积的现象;继续观察ESTABLISHED状态的套接字,发现其已经超过服务所能承载的并发数;扩充服务并发数,再次压测,发现问题得到解决。
猜想:当连接出现堆积时,epoll在处理listen套接字时可能会出现延迟的情况。