我在 Windows 7 64 位上运行 Vuze 5.6.0.0,磁盘缓存为 96MB。有一个选项,文件 → 性能选项 → 执行预读以减少上传时的磁盘读取。此选项似乎默认启用。
当启用并仅做种(最多 3 个上传槽,上传限制为 30kB/秒)时,我倾向于看到像这样的缓存配置文件(这个特定的 torrent 有 8MB 的片段大小):
也就是说,只有约 18% 的命中率,在约 600MB 的数据下需要 2.29GB 的磁盘读取量。平均磁盘读取速率远高于上传速率。
禁用预读后,我看到从磁盘读取的数据量和读取计数约为 1/5,并且磁盘读取速率恒定等于上传速率(如预期的那样)。
从逻辑上来说,这对我来说是有道理的:当客户端请求基本上随机的片段时,预读如何才能有效?
然而,另一方面,预读是默认启用的,我不喜欢质疑默认选项。我通常认为默认启用预读是有充分理由的,即使我不知道原因是什么。
我的问题是:
- Vuze 中的预读选项是否真的能有效减少磁盘读取,尽管它似乎产生了相反的效果?我是否误解了结果?
- 如果不是,那为什么它被默认选中呢?
- 如果不是,在什么情况下可以它是否有效(即使它对我的情况没有任何作用,也许还有其他用途)?
答案1
预读功能默认是禁用的 - 您必须在过去的某个时间启用它,或者检查您的插件。
此选项意味着在读取要上传的数据时,Vuze 会按顺序读取刚读取的上传数据之后的数据,以准备来自连接的下一个顺序请求。 在您的例子中,顺序请求显然永远不会到达,因此此选项的效果只是浪费磁盘。
可以禁用预读,不会产生任何不良影响。在按顺序读取数据的情况下,Windows 将比 Vuze 更好地优化预读。