ビューを最適化しようとしており、次のコードで 40 枚の写真がロードされているページで:
= image_tag(product.pictures.first.data.url(:gallery))
次のコードに変更すると、ロード時間は 840 ミリ秒になります。
= image_tag("http://bucketname.s3.amazonaws.com/products/#{product.pictures.first.id}/gallery.jpg?1325844462"
ロード時間220msとなっております。
これは、s3_path_url の補間が非常に遅いことを意味します。他の誰かが同じ問題を予期していますか?とりあえず、URL を生成するヘルパーを作成しました。
def picture_url(picture, style)
"http://bucketname.s3.amazonaws.com/products/#{picture.id}/#{style}.jpg"
end
ここで私が抱えている唯一の問題は、キャッシュキーが存在せず、拡張機能も存在しないことです。