2 wowlancelot wowlancelot 于 2016.04.05 08:10 提问

IOCP压力测试,出错处理,求解

IOCP压力测试
客户端并发1000个连接,发送数据给服务端,服务端接收到数据后,又把数据发回去客户端,客户端收到数据后又发回给服务端,就这样,大家的网卡都满载了,占用99%
一会就有很多Socket收到以下通知:

GetQueuedCompletionStatus返回Flase
lpNumberOfBytesTransferred=0
lpCompletionKey不为空
lpOverlapped不为空
WSAGetLastError=ERROR_NETNAME_DELETED
但WSAGetOverlappedResult返回True
这是个WSARecv操作

这种情况是正常的还是不正常?
这种情况要怎么做?是要做断开连接处理吗?

1个回答

zanfeng
zanfeng   2016.04.05 11:50
已采纳

网络已经占满了。出现问题是正常的。关键就是对过多的请求采取一些策略。是关闭某些连接,还是延迟请求。
总不能100M的带宽,你非要一秒发送10G的东西。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
IOCP 压力测试
IOCP 压力测试
代码客:G-Socket(IOCP) 1.0(Server/Client)例程源码+Server体验程序+强大的压力测试工具
代码客:G-Socket(IOCP) 1.0(Server/Client)例程源码+Server体验程序+强大的压力测试工具关键词:完成端口 IOCP GSocket GTcpServer GTcpClient 压力测试工具 模块结构层次及相互联系(1)、工作线程:响应连接的IO投递返回并负责投递读请求,并将IO返回结果投递给处理线程,可设定参数决定
IOCP接收性能测试。瓶颈或者问题?
环境 物理机 * 7:1台作为服务器,6台作为客户端          CPU:E5405 2.0GHz4*2          Mem:16G          NetworkCard:1000M*2 系统:          Windows2008 Server R2 测试方式 1.      DOETest工程release版编译测试服务器。 2.      DOECl
IOCP服务器压力测试程序
利用完成端口来做的一个服务器,来测试服务器的压力测试。
小猪的IOCP服务器和客户端的VC6版
基于小猪的【博客文章《完成端口详解》配套代码(压力测试客户端)】这里的源代码,把它移植到VC6中进行的测试,包括服务器和客户端。
中缀表达式的计算(含出错处理,括号处理)
原文链接:http://blog.csdn.net/iqrocket/article/details/8136172 以下是一个中缀表达式计算的程序,大体思路是利用两个栈,一个存放操作数,另外一个存放运算符,分别将输入的操作数和运算符存入其中,若输入的运算符优先级小于栈顶的运算符,则将栈顶的运算符取出,并将操作数栈的两个栈顶操作数取出进行运算,将运算结果重新填入栈中,而后将刚才输
分布式TCP压力测试工具 tcpcopy
tcpcopy是一种应用请求复制(基于tcp的packets)工具,其应用领域较广,曾经应用于网易的广告投放系统,urs系统,nginx hmux协议开发等系统,避免了上线带来的很多问题。 总体说来,tcpcopy主要有如下功能: 1)分布式压力测试工具,利用在线数据,可以测试系统能够承受的压力大小(远比ab压力测试工具真实地多),也可以提前发现一些bug 2)对于后端的短连接,请求
Socket服务器压力测试工具
Socket压力测试,用于测试IOCP,Select等模型并发量。
IOCP问题总结(recv阻塞/死锁/线程堆栈溢出)
//群发,异常时不关闭socket,(关闭会出现异常(死锁?!),而不关闭最多客户端少收一些数据而已),再者,这里在关闭,而SocketArray_->GetActiveItem(i)又在获取。。。 //会发生类似这样的死锁:AcceptThread的RecvData要进入锁,但OnRecvComplete却阻塞在recv处,为什么会阻塞在这里?可能是CloseSocket是,破坏了某些数据,如
强大的TcpServer压力测试工具源码(附突破连接限制的方法和工具)
原版本升级,更稳定功能更强 一、 使用G-TcpClient模块 二、 可以设定间隔时间发起大规模长、短连接 三、 可以发起密集数据包,包括即时和定时发送 四、 数据发送工作由一个独立线程担当,连接发起工作可设置多个独立的线程担当。 五、 可以多种模式组合连接或发送数据。