我有一台运行 nginx 的服务器作为视频流的 Web 服务器,并且正在考虑使用安装到该服务器的外部 CIFS/SMB 存储共享。
由于服务器需要下载和上传以读取和写入共享上的文件,我想这会增加一些额外的读/写延迟。
外部文件将在挂载共享的本地磁盘上缓存多长时间以供读取(脱机可用)?
NGINX 如何处理从此类已挂载的 CIFS 共享中一致且并发地读取大文件?我猜大部分是由操作系统而不是 NGINX 处理的。
系统信息:
操作系统:AlmaLinux 9.3
内核:x86_64 上的 Linux 5.14.0-362.13.1.el9_3.x86_64
nginx 版本:1.25.3
答案1
nginx 不知道文件实际上在哪里。它只是使用内核文件系统功能来glibc
访问文件。
内核提供了读/写文件的功能。内核还提供文件缓存。
至于问题,它实际表现如何:你需要做你自己的表现评估。环境独特:
- 网络速度和拓扑可能不同
- 共享服务器文件上的硬件可能不同
- 共享服务器上运行的操作系统可以不同
因此,您需要进行自己的基准测试:使用文件系统性能测试工具来检查本地和 CIFS 安装文件系统的延迟/速度差异。