请教一个 Linux 上的 qbittorrent-nox 问题:在大负荷下载之后 webui 不工作

2022-05-06 09:32:31 +08:00
 AllenHua

qbittorrent-nox 运行在 OpenWrt ,是固件自带的,有 luci 页面。OpenWrt 硬件是 n3150 4C4T ,内存是 4GB 。

经常在高速下载大文件之后 webui 就 gg 了,IYUU 辅种也会失败。但是 curl 和 telnet 都能连接到对应端口,只是 curl 无法获取返回的内容(后面我会贴上详细的信息),这个问题出现了不止一次了,只是以前没有重视,因为重启 qbit 之后就好了。

哦,对了,我挂了接近 900 个种子。

我想出现这个问题的原因应该是我的 CPU 性能太差,下载时速度太快,整个系统内存占用才 1GB ,还有空余 3GB ,带宽是 300Mbps ,遇到比较好的种子,下载速度 30MiB/s ,但是通过 pstree 、ps 等等命令观察 qbit 进程没有被 kill ,而且进程状态是良好的。

解决办法:

  1. cpu 性能有瓶颈,只能对下载限速
  2. 找到 webui 不工作的原因,对症下药

我贴出一些信息,希望有 Linux 大佬帮我分析分析问题产生的原因。

高速下载时的速度,前几天看到有 33 兆每秒了

webui 这时候还能访问,但是已经出现了 client is not reachable 的提示了

满速下载时的 htop 输出

通过 pstree 发现进程存在,以及子进程,程序通过 dk 这个用户运行

kill -0 14824echo $? 返回 0 说明,进程似乎是没问题的。原理:kill -0 不会向进程发送任何信号,但是会进行错误检查,如果返回是 0 说明进程存活,否则说明进程存在问题。

进程所属用户名和组均是 dk ( uid 和 gid 都是 6802 )

curl 和 telnet 均能连接

就是 webui 无法访问,是进程出现了什么问题?该怎么排查呢,期待有人帮我分析分析。

7918 次点击
所在节点    Linux
42 条回复
Sylv
2022-05-06 09:58:59 +08:00
就是高速下载或者种子过多的时候,CPU 性能不够,导致负责 API 的子进程阻塞了。这情况在性能不好的 Seedbox (相比路由器已经好很多了)也经常出现,在性能好的 Seedbox 上就很少出现。所以你只能下载限速和减少做种数量了,要不然就是换到性能好的 PC/NAS 上了。
whatalittleboy
2022-05-06 10:01:31 +08:00
之前我 Windows 端的 qb ,界面非常容易卡死,把 tracker 订阅地址删掉就好了
ltkun
2022-05-06 10:06:25 +08:00
webui 最多干过 5000 种子 不过 cpu 内存都要给足
AllenHua
2022-05-06 10:18:50 +08:00
@Sylv #1 感谢解惑。刚查了一些资料,pstree 里主进程后面的是进程还是线程,我不知道怎么区分,后面那一列的名称和数字,那个数字是 process ID 还是 thread ID ?
@whatalittleboy #2 这个 qbit 我只用来下 pt ,所以这个 key 的值我这边是空的
@ltkun #3 5000 种感觉已经很多了……
Sylv
2022-05-06 12:01:25 +08:00
@AllenHua 这个我也不清楚。
vocaloid
2022-05-06 12:49:20 +08:00
qb 版本是否太低?太低的会出现各种奇奇怪怪的问题,至少要到 4.4.x 才好点
lslqtz
2022-05-06 12:52:56 +08:00
个人猜测一般 CPU 没满的情况下是 IO 瓶颈等待导致的阻塞,当然有时候也有玄学情况。。。
@vocaloid 其实都那样,4.4.x 还用了 libtorrent 2.0 ,Windows 下性能降低要不内存直接进行大爆炸
lslqtz
2022-05-06 12:53:19 +08:00
目前我 Web UI 挂了 6000 ,响应有一点延迟,估计网络问题,还可以接受。
lslqtz
2022-05-06 12:56:23 +08:00
以及内存的话不要让 qB 去试图使用 SWAP ,这也可能导致 Web UI 卡死。或者你干脆关了 SWAP 也行。。
个人测试经验,工作集要比磁盘缓存大 1/2 到 1/3 ,然后工作集用总内存的 1/2 比较好。
LuvF
2022-05-06 13:00:27 +08:00
mark 一下,目前也只能限速处理,看看有没有大佬有解决办法
imn1
2022-05-06 13:03:49 +08:00
@vocaloid #6
切,我是逆向操作,4.4.x 卡死多次,从 4.4.2-->4.4.1-->4.4.0-->4.3.9 OK
搜了一下,原来是国际问题
当然说的是 GUI 版本,不是 nox
lslqtz
2022-05-06 13:04:07 +08:00
Web UI GG 了不影响任务的进行,但是不知道会不会影响 RSS ,没有做过测试。
我 MT7621 的 OpenWrt 挂 10 个任务同时下载就会卡死,但是任务还会进行。400 个任务不操作也卡死,没救。。CPU 性能炸了
lslqtz
2022-05-06 13:04:44 +08:00
@imn1 推荐试试看 4.4.2 lt1.2 版本,Linux GUI 当我没说。
HaoranLi
2022-05-06 13:09:44 +08:00
QB-EE 4.4.2 ,Windows10 ,CPU-3700X ,内存 64G ,三星 970Pro ,下载速度超过 30MB/s ,GUI ( Web UI )一样卡死。
CPU ,磁盘占用基本没有,但是还是会卡死
imn1
2022-05-06 13:12:27 +08:00
@lslqtz #13
是 win ,但也不想试了,用着没啥事就不动了
我是 4.1 看着 pt 别人版本挺高的,直升 4.4 ,在半夜卡了,醒来看到上传流量全部为 0 ,&^)()#$%&^^$^&
lslqtz
2022-05-06 13:16:31 +08:00
@imn1 我目前都是 4.4.2 lt1.2 ,用下来和 4.3.9 没区别。
![19206978-0776-41BD-97E3-C7B5F2EF9484.jpeg]( https://s2.loli.net/2022/05/06/JPfwQ1UBbmYZOTN.jpg)
lslqtz
2022-05-06 13:17:30 +08:00
……又忘记回复不能用 MD 了
V2 的外链限制是不是太严了。。
创建新回复过程中遇到一些问题:
请不要在每一个回复中都包括外链,这看起来像是在 spamming
yanqiyu
2022-05-06 13:31:03 +08:00
我猜就是 io 卡住了导致卡住了别的线程
因为 qbittorrent-nox 高负载失去响应的问题我甚至在 32C+128G 内存的服务器上遇见过,显然不会因为是 CPU 瓶颈 /内存瓶颈
AllenHua
2022-05-06 13:45:45 +08:00
@vocaloid #6 好像是 4.1.9 ,晚上回去确认。上午重启了一下 frpc 导致家里路由器 ssh 登不上了。。
@lslqtz #7 好的,谢谢。回头看看首要升级版本
@lslqtz #9 恩有道理,4GB 内存对于我的系统和相关应用应该足够了,swap 不是很有必要。
@lslqtz #12 MT7621 还能这么刚,看来我的 n3150 不是问题 😂️
@lslqtz #17 没办法,确实很严格我也遇到过好几次你这个提示。不过另辟蹊径,可以拆开 url ,http 协议附近,不让 v2 的 editor 把你的文本识别成一个有效的 url 就行了
@yanqiyu #18 也是有道理的,但是接的一个普通的 3TB sata3 机械硬盘,顺序写速度有个 100 兆以上,为什么 io 会卡住呢
vocaloid
2022-05-06 14:31:23 +08:00
@imn1 嘛…nox 版低于 4.4 在我这会导致种子内容无法查看,而且如果运行 nox 的服务器做梯子的话还会导致 web 界面延迟巨大(十几秒),十分玄学

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/851091

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX