BitComet Tips

1. 传统BitTorrent客户端的超级弊端:
a. Python的网络核心,python为何物?脚本语言也!用来写网络应用很方便,但代价就是慢
b. 同时下传、上传的时候磁盘读写缺乏控制,很容易造成磁盘读写频率过高,损坏磁盘
c. 续传的时候需要重新校验所有trunck的SHA1,造成续传启动慢,重新扫描损耗磁盘
d. 没有peercache,无论是续传还是新下载,下载启动都慢,因为续传时必须和tracker重新通信获得peer
e. 没有peercache,不仅加重了tracker的负担,而且遇到tracker忙时将导致用户下载启动极慢

2. BitComet可以控制同时最大同时尝试的TCP连接请求数目,所以规避了XPSP2的主动连接并发限制

3. BitComet自建磁盘缓冲,同时尺寸可调整,极大缓解了磁盘读写的压力(但是只见增加不见降低,还有改进余地)

4. BitComet将上一次的下载状态以xml文件形式保存在status目录下,只要两次下载中间没有第三方程序更改过目标文件,或者曾经出现过文件IO错误,那么续传无需扫描也可以保证下载的完整性。在再次续传时候无需重新扫描整个下载,既提高了续传启动速度,又保护了磁盘

5. BitComet支持对一个Torrent中的文件有选择的下载,并允许设定文件下载优先级,非常实用!

6. BitComet支持每任务最大连接数设置以及连接发起间隔时间设置,设置较大的同时连接数量和较小的连接发起间隔能够极大提高下载速度,但是注意!!请注意磁盘实际读写频率,以免损坏磁盘!!(建议内网用户试试的参数:500连接每任务,100ms发起间隔)

7. BitComet支持UPnP,不过我现在已经将家里机器设置成为宽带路由器的DMZ了:D

8. BitComet可以不同内网的用户通过UDP互相连接实现内网互联(UDP Cone NAT)

9. 两个BitComet之间其实只占用了一条TCP连接,充分利用其全双工特性进行工作,因此,不要限制上传速度,限制上传总量意味着上传连接数量的减少,即有效(有数据传输)连接的减少,直接导致下载速度总量的减少

10. 用BitComet续传,在临时终止BitComet/Pause时,BitComet将当前Peers列表在XML文件中保存了一份,在下次续传启动时可以直接用来建立与peer的连接而无需再从服务器获取,部分起到了peercache的作用,加快了resume启动的速度

11. 内网当中的BitComet在下载达到100%之后,上传流量会单调下降至0,因为此时BitComet已无直接连接他人下载数据的必要,又因为外网主机基本上无法连接内网主机的服务端口,因此,在服务完所有内网主机主动连接的主机的上传请求之后,上传流量降为0

12. 第11点补充:在高版本的BC中,为了避免leech的不对称性,即使内网用户下载已达到100%,它还是会主动连接其他未完成的用户,主动为他人服务,因此,上传流量不会最终降为0

你可能感兴趣的:(Comet)