我有一个运行 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