在我的Rails应用程序中,当我渲染多个图像URL的列表(每个图像有4个版本)时,需要几秒钟(对于30个图像x 4个版本,在10秒内)。使用mini-profiler,我发现每个图像版本Carrierwave正在向存储图像版本的S3发出HEAD NET::HTTP
请求(120个请求x 0.1s = 12秒)。
这太长了,不适合生产。我怎样才能改善这个?
数据库查询以毫秒为单位。使用image_object.filename.url(:version_size)
生成的列表是使用image_object.filename.versions[:version_size].size
和图片大小的图片网址列表。
使用Rails 5rc1,Carrierwave与AWS进行S3存储。