关于linux网络服务器的一个问题

goback2008 2012-11-14 11:51:33
各位大侠大家好,我最近在做一个linux环境下可以支持海量连接的服务器的项目,我采用的是epoll技术,初步用epoll模型写出了一个服务器,然后,我开了250个客户端,所有的客户端都是硬性的每5s向服务器发送一次请求,我采用的是短连接模式,也就是每次connect都有一次create socket和close socket的操作,这样持续了3个小时,服务器没有崩,但是有一个问题,连接越多,也就是客户端开的越多,服务器响应越慢,这还不是全部,我关掉部分客户端后服务器响应变得更慢,最后我关的只剩一个服务器完全没有响应了,全部关掉重新开也是这样,这里的没有响应是指客户端connect成功,send也成功,但是recv就一直阻塞了,结果是服务器端的send出现问题,显示connection reset by peer 的错误!为什么会这样啊,客户端连接减少服务器响应速度应该越快才对啊?客户端是被我强制关闭的!
注:服务器是运行在虚拟器上,客户端是运行在同一台电脑windows下,服务器其他地方都没有报错,accept成功,recv也成功,就是send就报错了。
...全文
94 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
TANG_XIAO_BIN 2013-07-11
  • 打赏
  • 举报
回复
朋友如何解决的?
qq120848369 2012-11-14
  • 打赏
  • 举报
回复
先优化一下网络参数, 减少TIME_WAIT的端口数量, 然后压力测, 还每5秒? 直接无限发就行了.

23,120

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧