共产主义 发表于 2011-4-18 12:02:30

【不限下载上传不稳定】【 限下载上传就稳定】

本帖最后由 共产主义 于 2011-4-18 12:35 编辑

前几天发帖求助上传不稳定的解决方法,没达到满意的方案:
http://www.gebi1.com/thread-15610-1-1.html
自己又捅咕了几天,发现这样的现象:
【不限下载上传不稳定】【 限下载上传就稳定】
不限制下载,上传的截图:
https://bbs.hdchina.org/attachments/month_1104/11041812299f291b28c8399964.jpg
限制下载,上传的截图:
https://bbs.hdchina.org/attachments/month_1104/11041812311b030ed2597ed899.jpg
这种现象是什么原因造成的,求助!

共产主义 发表于 2011-4-18 12:04:36

本帖最后由 共产主义 于 2011-4-18 12:36 编辑

限速开始的变化:

https://bbs.hdchina.org/attachments/month_1104/1104181230a50b10693fccd7b6.jpg

围观群众 发表于 2011-4-18 12:06:53

看不到图{:1_81:}

共产主义 发表于 2011-4-18 12:37:31

回复 3# 围观群众


    现在看到图了吧{:2_127:}

fishpt 发表于 2011-4-18 12:50:22

{:2_126:}那就限制一下呗

nashera 发表于 2011-4-18 13:16:50

共产主义惹的祸,拿要慢慢拿,给就要给多点

nashera 发表于 2011-4-18 13:17:40

可能是连接数的问题,楼主把连接数的限制改大些,应该会好

hothduser 发表于 2011-4-18 13:18:28

我估计是你的下载连接数远远大于上传连接数导致的
这个和ADSL不限制上传就有可能下载下载很慢是类似的,只不过ADSL由于理论上传速度就比理论下载速度要小,所以更容易出现而已~

原因就在于ISP的限速,如果你自己不限速,ISP会帮你限,限速的办法就是丢弃数据包~而TCP连接在遇到丢包时会进行拥塞控制,放慢传输速度,因此当你的速度达到ISP的限制时,TCP连接就会启动拥塞控制减速。当你只有一条TCP连接的时候就很少发生拥塞控制,因为一旦发生,TCP会减速,在慢启动的过程中需要重新达到ISP的限制才会再次发生丢包,但是连接越多,拥塞控制就发生的越频繁。
另一方面就算你单纯的上传,其实对方还需要发送数据包告诉你他已经收到,这个包(称之为ACK)对于你来讲就是下载流量(这个流量一般远小于上传流量),因为你的下载连接数远远大于上传连接数,因此下行数据流发生拥塞控制的频率就远远大于上行数据流,因此对方告诉你他已经收到的消息被丢弃的概率就加大,导致上传流量还没有达到ISP的上传限制就发生了拥塞控制。

解决办法:
1 限制下载速度,保证上传时对方的ACK不会被丢弃掉
2 更好的解决办法是在ISP处做QoS,保证小包优先,即使达到速度限制,也保证不丢弃ACK包,而丢弃普通的数据包(这个对于普通用户基本没可能)
3 还有一个办法是修改本地的拥塞控制算法(没有最好的算法,只有最合适的算法,这个要收集大量数据分析才能知道哪个算法更合适),另外注意的是拥塞控制只能控制上传行为(因为下载是被动的,当下载发生拥塞控制的时候是由别人决定给不给你发数据包),即你可以决定当发生丢包时是减速上传还是原速上传。

PS: 以上为了便于理解,有的地方写的并不严谨,你可以参考
http://zh.wikipedia.org/zh/%E6%8B%A5%E5%A1%9E%E6%8E%A7%E5%88%B6
http://zh.wikipedia.org/zh/%E6%85%A2%E5%90%AF%E5%8A%A8
http://en.wikipedia.org/wiki/TCP_congestion_avoidance_algorithm
http://en.wikipedia.org/wiki/Slow-start

emule_ed2k 发表于 2011-4-18 13:25:25

首先,把AD这种上传、下载本身就互相影响的情况排除,仅说上传、下载本身互不影响的商用光纤。

如果,上传下载都比较给力的情况下,同一台机器同时跑ut(无下载任务)和迅雷,完全可以做到ut上传满速,迅雷下载满速,或者其中之一满速,另一个保持95%以上的速度,这是商用光纤的对称性决定的,上传、下载彼此之间基本没有影响。

现在回到只开ut的,本来无下载任务上传满速,加入一个下载任务,上传速度反而降低,以及速度波动的问题。原因如下:
1、加入下载任务后,ut本身的上传额外开销和下载额外开销都会增大,以10M光纤为例,如果上传能满速,上传和下载的额外开销一般都小于50KB/S(不要以为只上传,就没下载额外开销),一旦加入下载任务,上传和下载的额外开销会增大到7、80KB/S,有时候甚至会超过过100KB/S。额外开销增大,上传速度因此反而会降低,当然如果你加入的下载任务,下载和上传的请求都比较强烈,也可以保证上传下载都满速。

2、允许utp会比纯粹的tcp更消耗额外带宽,并且带来更多的速度波动,但是允许utp可以比纯粹的tcp连接上更多的用户,双刃剑吧。

3、ut软件本身在上传和下载之一速度较快时,自己就会对另一个传输行为产生不良影响。这个应该是个软件的本身就有的问题,实际上可能也与上传、下载额外开销增大有关。除了你说的下载过快上传波动外,你试着在你上传满速的时候,下一个种子比较少的资源,上传可能没影响,但是下载速度会很慢,如果停止或者限制上传,下载速度会变快一些。

差不多就这些原因,一般把下载设置到80%带宽就不会因为软件的问题影响上传,反之亦然;如果下载任务是大热门还未出种,你基本能跟上大部队,可以不限制下载速度,上传和下载都能接近满速。

kktmkknt 发表于 2011-4-18 13:26:55

在下载速度达到满速时,会影响新的连接生成,导致上传不稳定。
你可注意一下,我们已经下完的文件做种时,当有别人来下载时还会有下载数据产生。但下载全满速时就会挡阻这些下载数据,影响连接产生。

共产主义 发表于 2011-4-18 13:55:13

回复 9# emule_ed2k


    {:1_87:} 感谢,您解释的很清楚。从图线看额外的开销真的不小。
这种现象应该是有效的下载链接数远大于上传链接数造成的吧。

mingsheng168 发表于 2011-4-18 14:03:48

已经下载完了吗》?下完的话看看是不是没设置好。。还有看看下载的人多不,其他人上传达水管的话你抢不到也可能

emule_ed2k 发表于 2011-4-18 14:53:26

本帖最后由 emule_ed2k 于 2011-4-18 14:55 编辑

回复emule_ed2k


   感谢,您解释的很清楚。从图线看额外的开销真的不小。
这种现象应该 ...
共产主义 发表于 2011-4-18 13:55 http://www.gebi1.com/images/common/back.gif


    我不是学通信的,关于连接数的问题,我就不参与讨论了。

    按照前面我举的例子,如果ut无下载任务,我用商用光纤完全可以在迅雷下载跑满的情况下,ut上传也可以保持接近满速,这时,下载连接数肯定也大于上传连接数。

    当我需要在一个pt下载一个较冷门、速度较慢的资源时,我一般是双开ut,或者开另外的软件进行下载,而不是用我保种的那个ut进行下载。

   终端用户了解怎么用的好就行了,理论的东西还是留给专家研究吧。
页: [1]
查看完整版本: 【不限下载上传不稳定】【 限下载上传就稳定】