Apache 服务器花费太多时间来调整图像大小

Apache 服务器花费太多时间来调整图像大小

我有一个运行 php 脚本的 lamp 服务器。我使用这个脚本https://github.com/blueimp/jQuery-File-Upload/blob/master/example/upload.php它会自动上传图像并将其调整为定义的分辨率。

我现在有个问题。一个 5Mb 的文件需要大约 6 秒才能完成整个任务。如果我排队上传 10 个文件,服务器就不会响应其他请求。并且处理器的两个核心都处于 100% 使用率。

我有服务器的完全访问权限。我应该怎么做才能减少服务器的工作量。问题出在脚本上还是我应该使用任何插件来调整大小?

答案1

您链接的 PHP 文件使用了imagecopyresampled需要大量 CPU 才能完成工作的函数。您可以改用该函数imagecopyresized,但结果质量会更差。

根据目标大小,您可以将这两者结合起来,首先将图片大小缩小imagecopyresized一半,然后使用imagecopyresampled将尺寸缩小到最终大小。这应该会以类似的质量结束,就像您使用以下方法一步完成一样imagecopyresampled

相关内容