我正在开发一个项目,需要在网站的不同部分使用各种尺寸的用户图片.要提供的图像是各种尺寸的主要图像的缩略图,例如35×35像素,50×50像素和100×100像素.我想让用户只上传一张图片.
我使用PHP和Apache作为webserver.该网站最初的访问量估计约为40万,并且可能会显着增加.我的问题是:
我应该将图片调整为我需要的各种尺寸,同时在上传时保留原件吗?或者我应该只在需要和显示时调整图片大小(使用类似于phpThumb的东西)?
请我想知道这是更好的性能和速度智慧和资源管理明智的,考虑到交通的水平,并有可能在给定的时间是高达100网站上的并发用户.
磁盘很便宜,按需调整大小非常昂贵.我永远不会按需要调整每个请求的大小.我想你有两个选择:
上传后生成所有不同的尺寸.
存储原始文件,在第一次请求特定大小时动态调整大小,并将其缓存以备将来请求.
更新:nginx有一个很好的模块可以动态调整大小.我从来没有在生产中使用它,但如果你将它与反向代理相结合,你基本上可以获得第二个选项,而无需编写任何代码.