nginx:将对非常大的目录的请求拆分到子目录

nginx:将对非常大的目录的请求拆分到子目录

我有 webdav 服务器为以下项目提供请求

  • /path/to/directory/not_a_problem1.json 和
  • /path/to/directory/eeca9352c1ec475aadbd9d8c6e6aea94.ext.(特定字符数的长名称,此目录包含大量文件,100k+)。

是否可以修改请求,使其类似于/path/to/directory/eeca/9352/c1ec4/eeca9352c1ec475aadbd9d8c6e6aea94.ext,并重新排序现有文件(如果有必要)?(不匹配模式的文件应保留在原处)。

原因 - webdav 服务器至少需要 20 秒来响应对此目录的每个请求(但对于其他目录则需要不到 1 秒)。

所有内容均位于 ext4 格式的 SSD 上。

我无法修改 WebDAV 服务器上的逻辑。

我可以修改nginx。

我可以移动连接到 WebDAV 服务器的存储上的文件。

Nginx 在 Ubuntu 18 上运行。Webdav 服务器位于 docker 容器中。

相关内容