我想在我的 PHP 脚本中使用 GD 库从外部服务器生成随机大图片的小缩略图。每次调用页面时,GD库都会重新生成缩略图并显示。
这会减慢服务器速度或消耗异常数量的内存吗?
GD使用大量内存。它将图像完全加载到内存中并将其解压缩,因此每个像素至少需要 32 位。尺寸为 800 x 600 的图像将耗尽:
800 * 600 * 32 位 = 15.4 兆位 = 2 MB
这只是加载图像。我听说如果你调整大小,它会使用两倍的内存,如果你的图像更大,它会占用更多的内存。
您确实应该考虑缓存缩略图,这样它们只需生成一次(这也会加快访问者的页面速度!)。
我现在还读到,您正在从外部服务器加载图像,在这种情况下,您确实必须缓存图像,因为否则您的访问者必须等待您先下载整个图像。如果外部服务器关闭或过载,并且您的访问者将不得不等待超时(这看起来像是您的服务速度缓慢),情况会变得更糟。除此之外,如果每次用户请求图像的缩略图时都下载图像,则会浪费大量带宽。
由于 GD 使用如此多的内存,因此使用 IMagick 扩展生成缩略图可能是值得的。 ImageMagick 在内存消耗方面确实可以更好地扩展,并且速度也非常快(但出于上述原因,您仍然应该缓存图像)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)