当前位置:编程学习 > 网站相关 >>

自己测试1000M网络速度的疑问,纠结啊!

环境:两台1000兆网卡的电脑直接连接,连通后网络均显示1000兆,一个做SERVER一个做CLIENT

自己写了两个很简单的TCP程序测试传输速度,服务端单线程向客户端以最快的速度向客户端发
送数据,发送内存中的数据(这样做不会因IO瓶颈影响结果),客户端只接收。
结果确只有10M字节=80M位左右的传输速度,我的1000M位的网络为什么为这样呢??虽然说这是理论上的
值,但至少我的速度应该是接近1000M位吧,结果相关甚远。

有说加大发送和接收缓冲区,我也试过效果不明显。
我还试过多个连接一起传输,3个服务端和3个客户端,结果是每个连接大小6M字节的速度,也不是3*10M的速度

这些都是为什么呢? 网络 测试 tcp 限制 --------------------编程问答-------------------- 多请教,这里很多高手 --------------------编程问答-------------------- --------------------编程问答-------------------- 我找到原因了,我把自己发送的BUFFER设置得太小10个字节(不小心写错),后来我修改成
1300个字节,测试下来的速度能够达到90多M字节=720M位的速度,如果修改缓存区大小为256K的话
速度能达到100M字节。
以上是TCP测试效果,
后来我换成UDP,同样的条件测试下来速度则只有6M字节左右,修改SOCKET缓冲区也没有什么效果,只有把自己的BUFFER调整到10K速度才能达到 
40M字节左右,不是说UDP速度比TCP快吗?为什么我每次发送1300字节,以最大的速度发送,TCP确比UDP快那么多呢??
求解啊。。。
补充:云计算 ,  网络
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,