在我的网站上,我想为用户提供一个包含大量小图片的页面,有点像 Windows 中的缩略图。
所有图片均为文件,大小从1KB到300KB以上,但通常不超过5KB。
目前,所有这些图像都位于 Web 服务器(linux+apache)上的一个文件夹中,但我认为这不是最好的解决方案,特别是如果我必须扩展到多个 Web 服务器并且当我将拥有数千个。
那么,我是否应该将这些文件放入数据库中(可以)?或者有一个单独的文件服务器?还有其他建议吗?
最佳答案
需要考虑的一些事项:
- 不要将图像放入数据库中,除非您可以将其保留在内存中。普通文件通常是二进制数据的完美解决方案,您仍然需要为每个文件发出单独的 HTTP 请求。
- 如果您可以在多个服务器上镜像镜像并在它们之间保持平衡,那就太好了。
- 如果您没有额外的服务器,请尝试使用虚拟子域来伪造它,以规避并发连接限制。请参阅this article 。与此相关的还有:将图像分布在子域的每个页面上,每个子域 2 个或更多。
- 不要尝试压缩流量。你只会浪费 CPU 时间。
- 确保您对静态图像使用正确的缓存(例如远期过期)。如果图像更新,您可以随时更改地址。
- 确保您提供来自无 Cookie(子)域的所有静态内容。
关于configuration - 如何在网站上高效存储和提供大量小图片?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2413247/