gpt4 book ai didi

PHP图像动态调整大小与存储调整大小的图像

转载 作者:IT王子 更新时间:2023-10-28 23:44:29 24 4
gpt4 key购买 nike

我正在构建一个图像共享站点,我想知道使用 PHP 动态调整图像大小并存储调整后的图像的优缺点。

哪个更快?

哪个更靠谱?

这两种方法在速度和性能上的差距有多大?

请注意,无论哪种方式,图像都通过 PHP 脚本进行统计,例如 View ,或者是否允许热链接等...所以如果我选择存储调整大小的图像,它不会成为图像的直接链接。

我将感谢您的评论或关于该主题的任何有用链接。

最佳答案

这绝对是无与伦比的事情。

实际上,动态调整图像大小就像在您自己的服务器上运行 DoS 攻击一样。与向 php 脚本提供一个通常的请求相比,调整一张普通图像的大小需要更多的 CPU 和 RAM。这已经对性能产生了巨大影响。然而,通常的缩略图不是单独显示的,而是以数字显示的。因此,在只显示一个图库页面的同时,您正在创建数十个负载繁重的进程,将服务器负载增加十倍或更多。

快速而肮脏的测试来证明我的话:让我们尝试调整相对较小的 1.3 兆像素图像的大小

$ /usr/bin/time --format="%MK mem %Es CPU time" /usr/bin/convert angry_birds_1280x800.jpg -resize 100x100 thumb.jpg
10324K mem 0:00.10s CPU time

我们花了 0.1 秒,因此,显示 10 个图像预览会占用一整秒的 CPU 时间。虽然正确编写的 PHP 画廊页面将花费大约 0.01 秒。因此,通过动态调整大小,您将服务器负载增加了 100 倍。

与内存相同。每个调整大小进程将占用不少于 10M 的内存(调整 100k 图像文件的大小!),总和为 100M。虽然 PHP 脚本的通常内存限制仅为 8M,而且很少达到。

这是现实生活中的数字。

和这个问题有关的一件有点搞笑的事:
完全是同一位 PHP 用户,他们轻松地扔掉了 1000000 多个 CPU 周期,同时却难以置信地嫉妒到了 1 或 2 个!这不是修辞格,这里是我所说的一个例子:
一个 similar question来自某人,他非常关心同时在微不足道的事情上,如speed difference between Constants, Variables or Variable Arrays .还有谁最近run into allowed memory size exhausted problem ,好像这样的灾难还不够。

这个网站上有大量的问题和答案,讨论任何操作的纳秒速度差异,以无穷无尽的尊严回答,运行数百万次迭代的测试,以显示每个 CPU 周期的一次性操作之间的差异绝对可以忽略不计。

同时也有这样的问题 - 关于两种方法之间在性能方面的巨大、无与伦比的差异,这看起来与作者相同。

这就是普通 PHP 用户和这个网站的问题。
前者只是没有办法分辨真假。
然而,后者没有对问题进行健全性检查的机制 - 每个人都以同样的热情回答,即使两个问题相互矛盾(并且都具有常识)。

关于PHP图像动态调整大小与存储调整大小的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2823600/

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