我正在 NAS 存储 (glusterfs) 上托管我所有的上传文件。
最近我发现 NAS 上有巨大的、持续的网络流量。并追溯到 discourse 请求优化图像。是否有某个任务一直在查找这些图像?为什么?我该如何关闭它?
我正在 NAS 存储 (glusterfs) 上托管我所有的上传文件。
最近我发现 NAS 上有巨大的、持续的网络流量。并追溯到 discourse 请求优化图像。是否有某个任务一直在查找这些图像?为什么?我该如何关闭它?
顺便说一句,我的论坛中已禁用清理上传站点设置。
在我看来,
它每 15 分钟处理 25 张图片。是吗?这应该微不足道。我看到每分钟有数千个文件被查找。
而且,从 6 个月前的带宽来看,我也看到了同样的情况。所以我认为应该是别的原因。
然而,我非常确定这是由 discourse 作业或类似的东西完成的,因为当我停止 discourse 应用程序时,带宽就消失了。但是,当我只停止 discourse nginx 应用程序时,带宽仍然存在。
请查看 /sidekiq,它应该会告诉您哪些作业正在运行,请务必点击所有选项卡。
没有作业在运行。
. 是否还有其他未在此列出的作业?
或者容器中是否有尝试索引文件的东西?
我们所有的后台逻辑都在 Sidekiq 作业上运行。如果没有作业在运行,但您仍然有高磁盘 I/O,这可能是用户访问您的网站,并且 nginx 正在提供图片?
您是否有缓存 CDN 来处理静态资源?
我之前测试过。
![]()
所以不是因为用户访问网站。如果是这样,当我停止 nginx 时,流量应该会消失。
您需要使用 Linux 检查工具来查看具体正在进行的 PID 和系统调用。
首先,我重启了 discourse 应用,以消除持续的流量。然后我进入了管理面板,并进入了批量报告部分。这里的报告已经很久没有正确显示了:
报告超时后,我立即看到网络带宽激增。并且我在错误日志中看到了这个错误:
'hijack admin/reports bulk ' 在 db default 上运行了 90 秒后仍然在运行,此进程可能需要重启!
这里出了什么问题?
数据库是否在同一个NAS存储中?
不,数据库位于物理 SSD 磁盘上。
只有上传文件夹在 NAS 上。
因此,两者之间没有相关性。回到
在网络共享上运行
df -Pk
df -P
du -s
是否会花费大量时间?
我明白了。该报告结果已缓存,但我想它从未完成,也无法缓存,因为您的网络共享太慢了。
有什么办法可以防止这种情况发生吗?例如,将其视为 s3 上传,我们不计算磁盘大小