设为首页收藏本站

ZMX - IT技术交流论坛 - 无限Perfect,追求梦想 - itzmx.com

 找回密码
 注册论坛

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

用百度帐号登录

只需两步,快速登录

搜索
查看: 27|回复: 0

Linux版比特彗星BT软件下调磁盘缓存数值为512M导致上传速度变慢解决办法,等开发者支持sendfile

[复制链接]
 成长值: 423

签到天数: 5127 天

[LV.Master]伴坛终老

发表于 2026/1/16 23:47 | 显示全部楼层 |阅读模式 |Google Chrome 143.0.0.0|Windows 10
天涯海角搜一下: 百度 谷歌 360 搜狗 有道 雅虎 必应 即刻
Linux版比特彗星BT软件下调磁盘缓存数值为512M导致上传速度变慢解决办法,等开发者支持sendfile

这个之前提到过,唯一的解决办法就是不使用进程内存缓存独享,转而采用操作系统内核系统缓存,Linux平台下改为 sendfile 调用操作系统缓存,Windows平台则是 TransmitFile ,应该在开发者的todo list里,还要等后续版本更新,高级设置开关来是否切换
描述:启用系统缓存,可设置为使用256MB的进程缓存,进程缓存不足时,读盘的时候通过 sendfile 函数则可实现操作系统缓存,或者彻底禁用缓存的时候才使用 sendfile 系统缓存

由于你设置512MB缓存,导致真实磁盘读取次数数值大幅上涨,读盘命中率大幅下跌,所以引起了上传速度被砍半的现象

比特彗星进程最小内存缓存应当设置为256MB,BT做种上传任务提升磁盘读取性能达到99%命中率,16MB区块和宽带速度关系
https://bbs.itzmx.com/thread-111576-1-1.html

为什么比特彗星从任务管理器来看发现进程内存占用比qbittorrent高 系统级磁盘缓存
https://bbs.itzmx.com/thread-104963-1-1.html

毕竟有时候操作系统缓存是不可信的,某些用户会导致qb出现卡死崩溃现象,提供一个开关很有必要
并且BT可能需要进行加密传输,基于https的 SSL_sendfile 并不适用在BT上(而且iouring需要较高的5.10内核版本,推荐6.1及后续),函数使用 sendfile 最大的特点就是支持操作系统缓存( 2.1及以上内核实测可用,推荐2.4及后续)


现在比特彗星这种读盘策略就是需要大内存作为磁盘缓存,等后续支持 sendfile 操作系统缓存了,Linux版本下的性能就能在1GB小内存的VPS服务器中和 Transmission、qbittorrent 一样了
毕竟也才刚跨平台没多久,主力更新还是在Windows端,在2024年12月提到,目前一年暂时还没实现。
https://www.cometbbs.com/t/linux%E5%86%85%E6%B5%8B%E7%89%88/88604/237
对了,能不能帮我加个高级选项,bittorrent.sendfile
sendfile,直接调用系统api走内核级内存cache,不从进程读取数据,就和qb操作系统缓存类似,这样Linux下会存储缓存信息在buff/cache中,此时在iotop不会发生磁盘调用
0c32c096fda3af54416fe51ca9a7623a393a8b90.png

意思是
该选项默认值否,可选值是
启用该选项的设计实现为这样,不要写入的下载任务不走缓存了
http和BT下载任务依旧使用原有进程缓存
针对BT上传和长效种子,改为sendfile函数发起,使用系统级缓存这样在docker或者Linux与Windows下可以看到进程占用的内存会很小只有几十MB内存消耗

进程缓存有很大的优势
可以实现复杂的缓存策略,比如内容的有效期管理、清除策略等。而且可以在不同平台保持一致性, 压缩、加密等操作时,进程缓存可以更好地支持复杂的协议处理,这些操作直接使用sendfile函数可能不太方便。

我认为应该有一个sendfile来调度系统缓存,现在有了无gui启动后,避免后续推广docker和Linux版本的时候,有人会嫌弃进程内存占用大,使用sendfile函数后,一切缓存由操作系统内核控制,自动进行cache,由于cache不是独占容易被其它程序冲刷掉,所以要写个提示告知用户启用后可能引发性能下降

或者默认值为是,可选值为否,下方注释提示关闭系统缓存后会提高性能
对于xp系统我不知道是否支持sendfile

评分

参与人数 1樱币 +1 收起 理由
AngryBoT + 1 赞一个!

查看全部评分

欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册论坛 新浪微博账号登陆用百度帐号登录

本版积分规则

手机版|Archiver|Mail me|网站地图|IT技术交流论坛 ( 闽ICP备13013206号-7 )

GMT+8, 2026/1/17 10:06 , Processed in 0.146931 second(s), 21 queries , MemCache On.

Powered by itzmx! X3.4

© 2011- sakura

快速回复 返回顶部 返回列表