汗~找到了(ZT)
kajisan原创
在中国。我们还将面对的另外一个问题是low id用户
大家都清楚low id用户对服务器的影响有多大.(lugdunum服务器默认的low id用户只能占整个服务器的20%)
中国因为IP资源的缺乏,所以才导致了很大数量的low id用户的存在。大量的low id用户的存在则意味着整个网络上面的upload和download的交换并不会很大.因为low id用户之间彼此并没有办法交换文件。
从.23a开始low ID源会被eMule丢弃以节省服务器的资源。只有那些和你同一个服务器的low ID源和那些需要从你这里下载文件的low ID源会被接受。
把整个ED网络能够与其他的网络区分开的。就是overnet。他当然是得益于ed2k对于文件的hash判定能够准确的找到同样的文件.但是他也是一个累赘。我会详细的说明这个累赘的由来,也就是我们平常所说的overnet的现象 大家在平时也都深有体会。
在下载一些dvdrip或者0day的资源的时候。
明明服务器上只有一个源,但是下载的时候却发现有上千的源.当你开始下载的时候。也发现了自己的队伍开始不断的壮大。涌入了几千人的不认识的ID在你的队列里面分流这个Dvdrip的文件.我们可以非常形象的称这个现象为overnet.因为他跨越了服务器的限制。延伸到了整个网络.
overnet最初被利用在整个网络上进可能的选找足够多的源,只要是拥有这个文件的用户都将被他收集信息以便加入下载,当然他的弊端也慢慢的浮出了水面,我们下面就举这个例子来说明 我们在下载一些特色文件的时候(比如有字幕的RMV,我们会发现有些文件只有2-3个源。最多的不超过50个。但是却拥有比dvdrip或者0day等拥有上千的源更快的下载速度.这个是得益于我们的地域的关系。我们将这种国内的用户称为A用户。无论是high id还是 low id,你和A用户之间总能保持一种相当不错的速度,我们把除开A用户以外的用户称为F用户。他们大多来自国外。他们的下载速度缓慢的恐怖, 我们从下载一个dvdrip文件开始举例,当我们开始下载一个dvdrip文件的时候。Em开始寻找源的数量.因为overnet的关系他找到了上千的源。EM把这些源加入下载列表。象他们发出下载请求。并开始下载文件,就是在同时,A用户也通过其他的途径,比如论坛。找到了这些文件hash,也将同样的文件加入了下载。这样就形成了一个比例.也就是overnet现象的产生的原因了.
因为文件来源于国外。也就意味着F用户拥有文件的绝大部分,大概是90%,A用户因为各种原因,也拥有这个文件的10%,同时F用户和A用户的在数量上的比例接近50:1左右(这个是相当小气的比例)
假设这个文件是1MB.你和A用户的连接速度是20KB/S,和F用户的连接速度是1KB/s,那么当开始下载这个文件后。你和A用户的文件的交换将在很短的时间内完成.然后你和A用户都将面对一种同样的局面。就是从F用户处下载文件,因为平时缺乏交流和上传的原因。
你和A用户在F用户的队列里面的积分都不会太高,所以长时间的排队是避免不了的事情.当然同样F用户也面对这个困境,而且最重要的一点是。无论当你最后加入F用户的上传队伍。或者A用户加入F用户的上传队伍。或者F用户加入你们的上传队伍,你们都面对一种情况。就是因为地域的限制导致的速度的直接降低。你们的下载速度都会相当的底。也就是说你们所需要的上传时间比平时你和A用户交换同样大小的文件所需要的时间的10倍甚至更长的时间。当然你也可以说源的数量可以弥补速度的不足,但是请不要忘记你在一个用户那里的速度越底。你就将在那一个用户会占用更长的上传时间,而且overnet现象之所以能够产生则得力于Emule和ED特有的排队和积分制度,F用户足够多的排队时间可以抵消A用户对你的上传所赚取的在队列中的优先级别,也就是说.F用户凭借他的数量优势和Em的排队机制最终将会降低整个ED网络的效率,因为在他用非常小的下载速度占用你的上传队伍的时候。A用户是只能在你的排队中等候,你和A用户之间的高效率没有办法发挥。而必须却和F用户进行时间和带宽上的浪费.同样的你也很难在A用户那里排上队.因为队列里面挤满了F用户,在这种情况下我们所能做的唯一能改善这种情况的就是在下载这个dvdrip文件后迅速的把这个文件移出共享目录。把队伍的空的位置腾给A用户下载其他的文件,因为A用户这个时候在你这里已经很难排上队所以这个时候给A用户分流也是不很实际的事情.这个就是时间上的浪费。
我们再来看看带宽上的浪费
A用户可以达到20KB/S的速度*60秒=1200K每分钟的流量.一个700MB的dvdrip将在9个小时内被完整的分流出去,实际情况要好的多.
F用户的速度是1KB/S*60秒=60K。他在9个小时只能下载的31多M的数据量(这个值其实没有夸张。你仔细看看那些F用户的速度0.01KB/S是经常都能碰见的事实)
9个小时浪费的带宽就是600多MB.分流一个被overnet的dvdrip往往需要1-3天的时间.lowid用户就更加痛苦
而且我敢断言.Overnet对带宽和资源的浪费将在很短的时间内解决。因为只要使用很简单的算法就可以明显的改善下载的速度和对队列的占用。取一个很简单的例子
当源>100并且连接速度<1KB/S或者5KB/S的时候放弃当前连接,这样不仅仅可以屏蔽掉overnet现象还能在源数量众多的情况下能够提升效率