为什么我白天把BT种子限制上传到100kb/s时候,比特彗星还是会频繁读写硬盘呢?
为什么我白天把BT种子限制上传到100kb/s时候,比特彗星还是会频繁读写硬盘呢?因为BT是根据区块读取的,比如说BT其中一个任务是16MB区块,那么产生一次读盘值就是为16MB/s
想要彻底解决限速读盘的问题,应该同时去限制每任务最大连接数为1,避免一个任务有10个人请求区块,那么就会产生16X10 160MB/s的读盘,这没办法避免的,只能去合理的分配更多的磁盘缓存,来避免区块请求到硬盘读,提升缓存命中率到99%,统计页面可以看缓存命中率
可以试试v2.06及后续的新版,优化了一定程度的读盘
v2.06 2024.1.18
核心改进:BT任务磁盘缓存达到上限后,分配读缓存失败时,仅按当前上传请求大小真实读取磁盘数据,不再从磁盘一次性读取整个分块的内存数据
核心改进:优化长效做种磁盘缓存,避免一次性从磁盘读取过多数据(内存不足无法分配时加快删除即将过期的缓存以便分配最新的缓存)
或者等后续版本支持用api函数TransmitFile去调度操作系统缓存,这种情况下读取产生就会变小,但是由于缓存不是进程独占,性能和缓存命中率会变低
页:
[1]