首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

局域网传输速度不合理!该怎么调整

2012-03-01 
局域网传输速度不合理!该如何调整?各位大哥:小弟做了个局域网传输工具,昨天在测试的时候,发现了一个奇怪的

局域网传输速度不合理!该如何调整?
各位大哥:
        小弟做了个局域网传输工具,昨天在测试的时候,发现了一个奇怪的现象。
        测试环境描述:
        服务端--windows   OS;文件传输服务端server.exe;
        客户端--5个用户;传输文件(> 400M);

        采用的机制:客户端多线程上传,服务端多线程对多线程(即客户端开辟了N个线程上传,服务端也开辟了N个线程响应);

        测试现象:
        5个用户(几乎)同时上传,速度显示--A用户200K/B左右;B用户200K/B左右;
C用户速度不稳定,有时是0,有时1M多;D用户2M/B左右;E用户7M/B左右!

        如何才能平衡各个用户的上传速度??
        (跟源码关系大吗?)

[解决办法]
这个不清楚原因在哪里,我只知道可以限制流量和速度,但是要平衡各个客户端的速度似乎不是服务器能做的
[解决办法]
加些代码做速度控制或QoS
[解决办法]
不懂,关注
[解决办法]
控制你的“响应线程”的响应速度
也就控制住了用户的上传速度
[解决办法]
采用的机制:客户端多线程上传,服务端多线程对多线程(即客户端开辟了N个线程上传,服务端也开辟了N个线程响应);
上述做法不妥吧,你的服务器的配置是什么?多个CPU? 线程切换是有开销的。使用TCP上传?

[解决办法]
线程不 停止
你可以每次发送的时候加个sleep
或者对send出去的大小做个 均衡?
[解决办法]
cpu的个数对你开多线程有影响哟。。在window下按抢时间片来处理。可以适当用sleep来让其他线程能够均衡下。有可能sleep(1) 都有好大的影响哟。
[解决办法]
服务器端不用多线程对多线程,这样其实效率不是太高,除非你有N个CPU
[解决办法]
限速也容易,比如规定某客户端速度为大约1M,那你客户端在上传的时候进行统计,累计上传/累计时间 > 1M 的话,可以暂停上传啊
[解决办法]
sleep的时候 是把自己的时间片让出来
让其他线程使用。。主要你的服务器弄过多cpu就好了。再说做服务器的话。。window处理多任务和多线程 没unix 好哟。。
那里面的fork 好象真的是挺强的。。

热点排行