对等网络性能剖析与案例研究
在当今追求速度的时代,我们期望磁盘更快、网络更快、处理器更快。然而,对于对等网络文件共享系统而言,性能依旧是值得关注的重要议题,同时还需考虑容错性和可扩展性等因素。
1. 对等网络系统的分类
对等网络系统可大致分为三类:
-集中协调型:节点间的协调由中央服务器控制和调解,不过节点后续可依据从中央服务器获取的信息直接相互联系,如 Napster 和 SETI@home。
-分层型:将部分或全部协调职责从中心下放到协调器树。节点被组织成层次化的组,组内节点通信由本地协调器调解,不同组间节点通信则传递到更高级别的协调器,例如域名系统(DNS)和 Squid 网络代理缓存。
-分散型:完全不存在全局协调的概念,通信完全由本地节点处理,通常涉及节点为其他节点转发消息的机制,像 Freenet 和 Gnutella 就属于此类。本文主要聚焦于分散型对等网络。
2. 性能为何重要
分散型对等网络系统比其他类型软件对性能问题更为敏感,原因如下:
-依赖网络通信:此类系统的本质特征是通信,这使其从根本上依赖网络。在网络通信中,连接速度往往成为瓶颈,且这种状况在可预见的未来可能持续存在。同时,对等网络的高度并行性会使原本足够与一个远程节点通信的连接,在多个连接同时进行时变得力不从心。因此,流量最小化和负载均衡至关重要。
-多跳消息转发:像 Freenet 和 Gnutella 这样的分散型系统