Laravel慢速图像响应

问题描述 投票:0回答:2

在我的一个页面中,我显示多个图像。我通过路径获取图像,该路径连接到控制器方法。像这样:

在视图中:

(inside foreach)
<img width="100" src="viewBook/get/...." >

在控制器方法中:

$img = Image::make('images/test.jpg');
        return $img->response('jpg');

但这是一种缓慢的方法。当我显示让我们说13张图像时,它几乎需要10秒钟。当我通过Chrome DevTools进行检查时,大部分时间都被视为“空闲”。当然,他们一个接一个地装。

我怎样才能让它更快?也许并行响应,或增加nginx带宽?

提前致谢。

laravel image performance nginx httpresponse
2个回答
0
投票

我想你正在使用Intervention Image软件包。但是,没有必要将所有图像都放在此包中。如果这样做,包将处理图像,这需要花费很多时间。

如果您只想返回图像,可以使用built-in file response

return response()->file('images/test.jpg');

这将直接从文件系统加载文件,速度会快得多。


0
投票

改善响应时间是非常困难的。这取决于各种原因,如服务器,互联网速度,位置,图像大小等。

对于这种情况,可以使用像imagix(https://www.imgix.com/)这样的服务,它对我们很有用。它比调整其他参数更便宜,以缩短响应时间。

© www.soinside.com 2019 - 2024. All rights reserved.