gpt4 book ai didi

linux - Linux 上用户私有(private)文件夹的最佳文件夹分布是什么?

转载 作者:太空狗 更新时间:2023-10-29 12:08:30 24 4
gpt4 key购买 nike

在我们的站点中,用户可以拥有许多私有(private)文件。我们正在考虑什么可能是最好的分布,以避免破坏服务器的性能,这些文件通过 Apache 提供,并且应该在用户每次需要管理它们时列出。

我们现在的第一个方法是:

var first_level = (int) $user_id/100;
var files_folder = /uf/$first_level/$user_id

这为我们提供了 100 个文件夹的第一级和许多第二级文件夹。由于并非所有用户都有文件,而目前我们大约有 8 万名用户,这意味着每个二级文件夹大约有 800 个文件夹。

您如何看待这种方法?

最佳答案

如果您的用户 ID 值分布相当均匀并且数量将继续增加,那么您可能应该更平衡树。什么是最好的部分取决于你认为你最终会在数字方面的位置。大目录的搜索速度比小目录慢。虽然 800 个文件并不糟糕,但也不是很好。如果你想坚持使用 2 层并且你有 N 个用户(作为你的目标人群),那么你应该在第一层中瞄准 sqrt(N) 文件夹, sqrt(N) 每个第二层目录中的文件夹。对于 N = 80,000,这意味着每个级别大约有 300 个文件夹。如果您想考虑 3 层排列,请将平方根替换为立方根。您可能还会发现使用模运算可以使分布更平滑。也就是说,第一级可能更好地计算为:

var first_level = (int) ($user_id % 300);

假设您的未知语言使用 % 作为其模运算符。

CPAN 使用基于 3 层的系统:第一层是用户登录 ID 的首字母;第二层是前两个字母,第三层是完整的登录 ID。

我在某处读到一些网站(基于大学的 IIRC)发现名字的第一个和最后一个字母提供了一个很好的系统。

关于linux - Linux 上用户私有(private)文件夹的最佳文件夹分布是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/408437/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com