0

我有一个带有上传表单的应用程序,允许用户上传照片。可能有 1000 人在线,每个人都可以上传自己的照片。

我的问题是:我应该在上传后立即调整上传照片的大小,还是创建 cron,它会在晚上调整所有上传照片的大小?

4

3 回答 3

1

在 PHP 中,调整照片大小并不是一个非常缓慢的过程,当然要等待服务器的资源(我猜图像的大小可能是一个因素 - 给定 10MB+ 的图像)。

我完全建议在上传后立即调整大小。这样做不会在凌晨 3 点或每当您的 cron 运行时建立队列,并且您还将受益于向刚刚上传它的用户显示调整大小的图像(可能是缩略图、半页大小等) - 漂亮用户体验中的“必须”。

于 2012-08-17T22:07:28.023 回答
0

cron 作业是一项极好的资产,因为您不会因为可以在凌晨 4 点运行它而对您的服务器征税。

但是,在 cron 作业完成之前下载该图像的用户浏览器呢?:( 想想你的用户,让服务器足够快以立即调整图片大小。另外,你可能也想考虑优化照片!

于 2012-08-17T22:02:22.427 回答
0

您可以为此使用 cron,但您的用户必须等待很长时间才能处理好图片。我建议使用第二台服务器和一个等待列表,您可以在其中放置所有需要调整大小的图片。第二台服务器将图片逐个处理(1 分钟 crontab)并将它们放回第一台服务器。这样您的用户就不必等待这么长时间,并且您的第一台服务器不会因需要调整大小的图像而过载。

如果您只想使用一台服务器,您可以添加一个 cron 并使用 nice、ionice 和 imagemagick 调整图片大小。

在处理图像时,您可以为图像放置一个占位符,让您的访问者知道他们的图像正在被处理。

于 2012-08-17T22:03:55.710 回答