P3TERX / Aria2-Pro-Core

Aria2 static binaries for GNU/Linux with some powerful feature patches. | 破解无限线程 防掉线程优化 静态编译 二进制文件 增强版
GNU General Public License v3.0
381 stars 98 forks source link

下载间歇性中断 #11

Open RyoLee opened 3 years ago

RyoLee commented 3 years ago

问题表现: 下载间歇性速度归0,期间RPC无响应,观察上游路由流统确认确实存在流量异常波动 image image

环境信息: k3s(docker部署),存储使用nfs v4(10G内网互联,读写测试无异常)

~#docker  version
Version:  0.1.0
RuntimeName:  containerd
RuntimeVersion:  v1.4.4-k3s1
RuntimeApiVersion:  v1alpha2

注入环境变量DISK_CACHE=256M k3s上未配置CPU/内存使用限制 CPU型号为E5-2689,内存为ECC型号

Aria2-Pro版本: p3terx/aria2-pro latest镜像(2021/6/29)

其他补充: 似乎下载速度高于某个值之后就会有较高概率出现这个问题,下载非常冷门的p2p资源或者对方服务器有较大限速的时候,则基本没见过

P3TERX commented 3 years ago

确实有这样的问题,初步来看应该是性能不足导致假死,可能与 Aria2 只能使用 CPU 的单核心有关。

CCCAUCHY commented 2 years ago

我也有类似问题,环境:VM.Standard.A1.Flex,Oracle Linux 8,Oracle存储桶 当aria2使用s3fs挂载的目录时,会出现间歇性端口堵塞,堵塞期间用dd命令测试对象存储,得到写入速度40MB/s,能正常访问对象存储。但用本地磁盘(sda)的目录不会出现这种情况,非常流畅。

RyoLee commented 2 years ago

似乎和执行缓存落盘有关,容器内执行 watch -n 1 sync 高速下载时抖动出现明显放缓,速度图上也没有出现过冲到几百MB/s的尖刺了(但是抖动仍然存在)

RyoLee commented 2 years ago

附上对比图,测试时配置DISK_CACHE=0 最大的尖刺后开始执行watch -n 1 sync 对比0 对比1 图1尖刺对应图2中间4次掉速的最后一次