zfile-dev / zfile

在线云盘、网盘、OneDrive、云存储、私有云、对象存储、h5ai、上传、下载
https://www.zfile.vip
MIT License
9.44k stars 1.82k forks source link

性能问题: 差距可达6倍以上 #653

Closed fangfang333 closed 5 months ago

fangfang333 commented 5 months ago

描述

首先有两个服务器: ①一个zfile挂载本地文件夹。 ②另一个用nginx搭建简单的文件列表,配置文件如下 location /share/tmp { alias /opt/file/share/tmp; autoindex on; charset utf-8; }

其实这两个的本体都是同一个本地文件夹,但是实际下载同一个大文件时(多线程), nginx的速度可以达到830mbps左右,CPU占用为4%~5% zfile的速度平均为430mbps左右,CPU占用在93%~99%之间波动。

全部都是外网下载,都经过了两次反代(中转机反代以及本机443反代) 处理器为arm架构4核,zfile是24年4月安装的最新版本(docker版)。

有一个还算不错的解决办法,就是设置后端服务器,可以将后端设置为本机的nginx服务器端口,就可以做到实际下载时使用nginx的链接直接下载,速度很快,只不过在路径上面会自动增加/pd/无法绕过,并且自动加上了?signature=1ce6a491e之类的鉴权参数),只能修改nginx的监听路径,

虽然会提示 检测到设置异常,实际后端域名应为 https://xxx.yyyy.top,是否需要修复?(不修正可能会影响下载、文件夹加密和文档预览功能), 但是实际使用是没有问题的,我的nginx配置文件不需要?signature=1ce6a491e参数,也不会报错,速度很快 image

额外信息

zhaojun1998 commented 5 months ago

这个问题我知道,你可以自己尝试更换jdk为11会解决这个问题。

我测试过是jdk8某些sdk的问题。

---原始邮件--- 发件人: @.> 发送时间: 2024年4月8日(周一) 凌晨1:55 收件人: @.>; 抄送: @.***>; 主题: [zfile-dev/zfile] 性能问题: 差距可达6倍以上 (Issue #653)

描述

首先有两个服务器: ①一个zfile挂载本地文件夹。 ②另一个用nginx搭建简单的文件列表,配置文件如下 location /share/tmp { alias /opt/file/share/tmp; autoindex on; charset utf-8; }

其实这两个的本体都是同一个本地文件夹,但是实际下载同一个大文件时(多线程), nginx的速度可以达到830mbps左右,CPU占用为4%~5% zfile的速度平均为430mbps左右,CPU占用在93%~99%之间波动。

全部都是外网下载,都经过了两次反代(中转机反代以及本机443反代) 处理器为arm架构4核,zfile是24年4月安装的最新版本(docker版)。

有一个还算不错的解决办法,就是设置后端服务器,可以将后端设置为本机的nginx服务器端口,就可以做到实际下载时使用nginx的链接直接下载,速度很快,只不过在路径上面会自动增加/pd/无法绕过,并且自动加上了?signature=1ce6a491e之类的鉴权参数),只能修改nginx的监听路径,

虽然会提示 检测到设置异常,实际后端域名应为 https://xxx.yyyy.top,是否需要修复?(不修正可能会影响下载、文件夹加密和文档预览功能), 但是实际使用是没有问题的,我的nginx配置文件不需要?signature=1ce6a491e参数,也不会报错,速度很快 image.png (view on web)

额外信息

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you are subscribed to this thread.Message ID: @.***>

fangfang333 commented 5 months ago

docker版可有更换过jdk的镜像版本?自行构建感觉太麻烦了,基于现有的情况,我可能会更偏向于使用nginx作为后端,接下来尝试关闭nginx的这一行 autoindex on; 但是不关闭直链,让它作为zfile的隐藏后端,虽然不算完美,但是简单直接

zhaojun1998 commented 5 months ago

我 build 了一个新镜像,可以换这个试试 docker pull zhaojun1998/zfile:4.1.5-jdk11

fangfang333 commented 5 months ago

好的,谢谢,已测试新镜像540~600mbps左右,cpu占用40%~60%之间(偶尔飙升至90%,和下载速度好像不是线性关系),6G大文件前10秒可以跑满了(cpu99%),提升了不少,但依然没有原生nginx的高效和稳定,暂时不确定时网络环境问题还是其他原因,先更新至新镜像,但继续用nginx作为后端一段时间。 已重新用nginx测速,实测此时速度也就600~650mbps左右,只比zfile高一点点,但是zfile的cpu占用还是太高了,虽然速度有了提升,cpu占用也确实已经降低了很多

这里也放一下我的配置。 ①docker-compose配置文件如下 zfile.yaml.txt onlyoffice.yaml.txt ②nginx配置文件如下 OnlyOffice.conf.txt zfile.conf.txt ③其他设置:所有存储源的"生成签名链接"开关都关掉,后端服务器不需要修改了,因为443端口反代时直接劫持了/pd/路径