小樱 发表于 2024/2/26 03:51

Windows下还没有什么有效方案充分发挥出BT种子下载给资源任务加速10Gbps做种上传宽带的服务器,因为是单线程软件只能吃单核心,反而Linux可以多进程实现

Windows下还没有什么有效方案充分发挥出BT种子下载给资源任务加速10Gbps做种上传宽带的服务器,因为是单线程软件只能吃单核心,反而Linux可以多进程实现

用世界上最先进纳米制作工艺,性能在强的CPU软件都容易卡住,因为是单核心工作的,八核心就占用12%然后界面一卡一卡




咱们比特彗星软件什么时候开始优化CPU多核心呢,已经很久了,如果之前说的那套类似http server的多线程处理方案不好做的话,可以考虑多进程模式

比如chrome浏览器,也是每个标签一个新进程,多进程模式也是一种有效利用多核心CPU的解决方案

比特彗星软件可以只当界面框架来显示下载进程的数据
检测CPU线程数,4核8线程就启动8个新进程,用作下载,高级设置可单独配置进程数量,默认自动检测核心线程数,和单独配置每个进程的磁盘缓存大小和端口号,便于每个进程都可以打通TCP端口公网ip
比如使用加1方案开发和使用起来比较方便,比特彗星端口设置10000,那么下载进程1端口就是10000,下载进程2端口就是10001以此类推,然后其它TCP发起连接总数,dht和tracker等设置就遵守软件本身设置,每个下载进程的BT身份识别信息中的客户端id最好要一致,避免PT任务会统计到使用多个客户端情况(peerid附带的信息,和两个peer建立后识别对方的id)

然后在比特彗星主界面添加任务,任务自动下发给这些下载子进程,例如服务器是256个CPU核心,添加10w个BT任务,每个下载进程大约分配到400个下载任务,这样多核CPU可以成功利用上,不然只能跑一个核心太憋屈了,Linux服务器下倒是能够使用其它软件实现这个效果,例如多开docker,写个sh脚本把BT任务分别录入到每个docker中,但是Windows下希望能解决下,目前市面上还没有任何BT软件做到多核心处理,希望比特彗星能够超弦绝杀

虽然Windows下可以用web种子去实现高性能,但是很多下载者的客户端可能不太兼容这个bt协议,例如迅雷11版本就会去除任务元数据中的web信息,导致无法使用web种子,所以还是要在bt本身去实现多核心利用


https://bbs.itzmx.com/thread-100031-1-1.html

https://bbs.itzmx.com/thread-100048-1-1.html

smilesadness 发表于 2024/2/26 13:17

后端多开,然后用一个前端统一管理?
顺便给不同的后端分配不同的IP也做一下,到时候一个后端走一条网线。
页: [1]
查看完整版本: Windows下还没有什么有效方案充分发挥出BT种子下载给资源任务加速10Gbps做种上传宽带的服务器,因为是单线程软件只能吃单核心,反而Linux可以多进程实现