2.15测试版

每5分钟保存的时候,torrents文件夹写入的xml也加一下这种.temp事务性写入方式?避免蓝屏后单个任务的下载进度烂了

还有webui上的http下载那个连接数默认值不对和一些选项,和客户端列表、客户端过滤器添加编辑按钮,做完应该就可以发布正式版了,毕竟上一版没有数字签名容易误报病毒

改好了

选些必要的做吧,全做可能没必要

以后有时间再做吧

好的

File name,用于设置文件名,一些http服务器下载地址不返回任何文件名

referer、User-Agent、Cookie 防盗链三要素

镜像地址加速

发送防盗链信息给镜像地址
Send custom HTTP headers to mirror addresses

Download speed limit和Authentication required一般没需求,可以有空在做,,感觉和全部也没多大区别了(虽然旧版webgui也能正常用,包括现有的第三方软件也是对接的旧版api,但是你现在不就是想vue做一套新的吗)

行吧,有ip过滤器也差不多了,到时候研究下配置文件Linux应该能用上,现在的docker版我是改配置文件实现高级设置的bittorrent.anti_leech_banned_ports、bittorrent.anti_leech_banned_peer_ids、bittorrent.anti_leech_banned_client_names

是的 在写规则的时候注意一下就行了 或者用peerID来过滤即可

还有在未选择任何规则的时候编辑按钮应该灰化

以及应该给默认规则添加一个注释 比如就叫默认规则
不过这样的话 规则类型里面的显示就要改改一下了 不能再是 默认
可以叫 所有 或者 任何

感觉不对称,界面显示上交换下顺序?
现在是
上传 下载 写入 读取
是不是应该改成
上传 下载 读取 写入

network.large_writing_buffer_enter_size_mb 数值能不能给大点

感觉比特彗星的写入速度有限制,,,SSD硬盘负载挺空闲的没吃满100%,下载快还是容易触发,好像给大数值可能也无法解决,应该是其他原因

机械盘的话性能确实是榨干了,但是上PrimoCache二级缓存都没用,一样ssd磁盘负载挺空闲但是软件写入速度不够快

好像有点类似之前准备长效上传做种 的限制一样,可能写入有什么间隔导致无法发挥出ssd的性能?

取消network.enable_dl_limit_for_large_writing_buffer 只会导致写缓冲积累越来越多,就会内存即将用尽才自动限速,所以证明network.large_writing_buffer_enter_size_mb 数值给大并没有什么作用,要找出来为什么写入速度不够快,无法利用ssd性能的原因

估计是写入的函数不对,或者是有写入延迟间隔,软件平均写入速度就40-80MB/s,期间跑个测速,都能看到ssd磁盘性能没有完全发挥的
mstsc_F7t0JfpVgV

不会是每个区块写入间隔有1000ms延迟吧???

beta4已发布,欢迎试用

已经做了

好的,改进一下

你的下载速度能有多快?我想办法测试一下

1個讚

就hetzner的拍卖机g口 4盘位2固态2个6t机械 机械组raid0为12t rss挂动漫花园下载110M/s左右 固态性能没吃满 应该是有什么间隔限制了

另一个猜测
还是说写入的时候会经过主线程的cpu检验引起变慢 可以先检验后在写入 不要同时进行

是的,每个分块下载数据的hash检查现在在主线程,下一版可以放到工作线程

还真是下载完成后写入的同时载在校验一遍吗。。。不过主线程其实并没有吃满,4核心8线程吃满单个线程应该是12%,但是平均基本占用在5%,进程总体8%

image

这个写入校验过程是不是没有必要,因为下载区块的阶段已经校验过了

或者应该还是其它原因,反正固态性能没吃满就开始提示缓冲区了(如果是机械盘的话倒是真的吃满了性能活动时间显示100%,但是这是ssd固态,活动时间只占用40%左右)

帖子beta4的下载地址忘改了

没有两次,就下载后、写盘前检查一次

已更正

下载后一次校验是否正确来丢弃区块,,,写盘前一次,这不是2次了吗!应该是直接拿下载后校验的结果直接写盘吧
先改成工作线程试试吧

[下载] → [hash检查] → [写盘]

卡在的位置是磁盘写缓冲区,在缓冲区里面的内容是校验过的还是没校验过的?就是这部分内容不能光速写入到磁盘中,ssd硬盘没有硬件瓶颈

填300,读出来的数值是200,不对啊,旧版页面正常显示300

每个选项都工作正常

缓冲区里面的内容是校验过的。不过目前只有一个工作线程进行写盘操作,SSD的话也许可以考虑多线程写盘?

webui控件最大值写成200了,我改一下,应该是2000

现在已经是工作线程了?还是主线程?

至少目前版本发挥不出ssd的写入性能,如果已经是工作线程了,那就要考虑多线程写盘了
或者直接通知操作系统iocp写盘(应该是叫这个,读取是sendfile,写入要查下相关资料,查了下好像叫 splice),软件只需要通知操作系统api,剩下的交给系统写入
调用操作系统改动比较大,先试试工作线程或多线程吧

/webui/ 可以改成http1.1,以便天生支持长连接,因为json的api请求很多,现在每次tcp三次握手都要花费不少时间

torrents下的xml,事务性写入工作正常