当前位置:  技术问答>linux和unix

求解:EPOLL高并发下不再响应新事件

    来源: 互联网  发布时间:2016-10-16

    本文导语:  我用的就是网上比较典型的EPOLL模型,我把accept单独放在了另一个线程中。使用EPOLLET模式,监视了EPOLLIN和EPOLLLDUP事件。EPOLLLDUP用于监视客户端的CLOSE事件,来者皆close之,另外在EPOLLIN事件处理中,用了一个recv,判断...

我用的就是网上比较典型的EPOLL模型,我把accept单独放在了另一个线程中。使用EPOLLET模式,监视了EPOLLIN和EPOLLLDUP事件。EPOLLLDUP用于监视客户端的CLOSE事件,来者皆close之,另外在EPOLLIN事件处理中,用了一个recv,判断是否返回0.或-1,是就close掉。除此之外没有任何业务处理逻辑。

在客户端,我用500个线程去连接EPOLL,连接上以后什么都不做,sleep(3000)后断开,断开后再继续连接,反复这个过程。以作压力测试。

问题是现在启动客户端以后跑上个十几秒,在服务器端就再也无法响应包括客户端close在内的任何事件,而accept线程还在不断的接收,导致fd迅速攀升。

通过netstat可以看到大量的CLOSE_WAIT。

不知何故,是我的压力测试程序写的太天真了吗?我确定关了iptables。

|
试试改close为shutdown如何

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 求解 求解 求解
  • Linux Shell编程从初学到精通 第四章课后习题2 求解
  • 有限元求解器 GetDP
  • 偏微分方程求解工具箱 DUNE
  • linux命令求解释....
  • 偏微分方程求解框架 Overture
  • 100分求解!!!!!
  • 编译内核时候出现的问题,求解
  • makefile求解
  • 求解ucos ii的一句代码
  • 求助linux下mysql 求解!
  • 求解啊,centos下 shutdown -h now 无效??
  • 求解windows下硬盘安装linux如何用linux引导
  • 关于linux shell的一个不明白的地方。求解
  • solaris安装不上,求解.............
  • [FreeBSD] 大神,求解,control socket : can‘t to any socket
  • ubuntu12.04求解
  • 100分求解如何查看内存最高使用值!!
  • 高分求解---如何在DOS下查杀欢乐时光病毒?用哪种杀毒软件?Windows98没法进入了!
  • 求解struct的大小


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    php开源软件 iis7站长之家