Mor*_*dur 23 performance webserver image image-resizing
我的公司最近开始遇到我们网站的图像处理问题.
我们有几个网站(成人娱乐),显示像DVD封面,快照和类似的图像.我们有大约100,000部电影,每部电影我们平均有30部快照+封面.几乎每个图像都有一个附加版本,模糊和覆盖非成员,这导致每部电影约50个图像或总共500万个基本图像.每个图像都有多个版本,具体取决于它放置在页面上的位置(缩略图,原始,小预览,不太小的预览,顶部列表中的小图像等),这会产生比图像更多的图像.我很想数数.
现在我有了使用服务器即时生成图像的想法,因为为所有不同的页面生成所有不同的图像变得非常笨拙(因为不同的页面有时甚至需要不同的图像大小来完成相同的任务) .
有没有人知道一个图像处理服务器可以动态缩小图像所以我们只需要提供原始图像,网络人员只需要他们需要的任何大小?
要求:
安全性并不是一个令人担忧的问题,即通过URL操作已经可以达到不模糊的图像,并且更安全性会很好但是不需要它,坦率地说我停止了关注(在未能进入我的同事头之后为什么(对于我们的小经销商)使用http://example.com/view_image.php?filename=/data/images/01020304.jpg来显示图像是一个坏主意.)
我们尝试使用PHP脚本来执行此操作,但对于这么多用户来说,性能太慢了.
提前感谢您提出的任何建议.
Mat*_*iva 27
我建议你设置一个专用的Web服务器来处理图像大小调整并提供最终结果.我做了类似的事情,虽然规模要小得多.它基本上消除了检查缓存的过程.
它的工作原理如下:
http://imageserver/someimage.150x120.jpg编辑:我不认为PHP本身会使这个过程变慢,因为在这种情况下PHP脚本减少到最小:图像缩放是由用C编写的内置库完成的.无论你做什么,你都必须使用像这样的图书馆(GD或libmagick等),这是不可避免的.至少在你的系统中你完全省去了检查缓存的开销,从而进一步减少了PHP的交互.您可以在现有服务器上实现此功能,因此我认为这是一个非常适合您预算的解决方案.
基于
我们尝试使用PHP脚本来执行此操作,但对于这么多用户来说,性能太慢了.
我假设你没有缓存结果.我建议将生成的图像缓存一两天(即让您的脚本检查是否已生成缩略图,如果是,请使用它,如果它还没有动态生成).
这会大大提高性能,因为我认为主页面/起始页面可能比随机视频X有更多的点击次数,因此在查看主页面时,不需要在缓存时创建图像.当用户Y观看电影X时,他们不会注意到延迟,因为它只需要生成那一页.
对于"即时调整大小"方面 - 带宽对您有多重要?我想假设你经历了很多关于电影的事情,每次请求中额外的kb图像不会造成太大的伤害.如果是这种情况,您可以使用更大的图像并设置宽度和高度,让浏览器为您进行缩放.
| 归档时间: |
|
| 查看次数: |
20868 次 |
| 最近记录: |