我希望托管一个包含许多图像的网站,我的意思是很多图像 - 大约 300-400k。
我想知道服务器上的项目数量是否会影响访问时间?换句话说,GET 请求是否会因为我托管了如此多的图像而变慢?将图像保存在普通文件夹中是否可行?我是否应该使用其他方法来组织图像,例如数据库?
这里主要关注的是客户端从服务器获取图像的速度有多快。
感谢帮助
答案1
是的。尽管如此,绩效还是存在许多变数。
每个文件系统的文件数量都有特定的限制。通常几十万个文件数量相比之下是很小的,但要知道这个限制。
一个挑战是包含数十万个文件的庞大目录。不是文件的总大小,而是目录条目本身。这会大大减慢列出目录的速度。
文件可以分布在目录结构中,可能基于它们的某种哈希值。因此,SHA1 为 da39a3ee5e6b4b0d3255bfef95601890afd80709 的文件可以随意进入 d/da/da3/。
或者,将它们发送到对象存储,让该系统以自己的方式处理文件。这可能是您构建的分布式存储,也可能是为您完成此操作的云。
无论哪种情况,您都可以将其置于内容交付网络之后。CDN 的 POP 更靠近您的用户,并且可以缓存内容。