0

Heroku で Rails 3.1.1 を使用し、2 つの Web dyno で実行しています。

私は現在 memcache を使用していません。フラグメント キャッシングを正常に使用しています。

ログに大量のキャッシュ ミスが記録されています (そして、ごくわずかなキャッシュ ミスが記録されています)。facebox-2 (実際に「キャッシュを新しく」取得するのは、キャッシュされたフラグメントの外側にあることに注意してください。

ご覧のとおり、ミスの後に「ストア」が続くわけではないため、私が理解している限り、実際にはキャッシュされていません。

cache: [GET /assets/facebox2-e2da8b69b260f5c7f70e22a7b3e6bb26.css] fresh
cache: [GET /assets/application-282064ad715b6798765bdeb777974e9b.js] miss
cache: [GET /assets/seasons/fall_top_background2.png] miss
cache: [GET /assets/tell-a-friend-afd54b062dd0d649f6595b96bf7450a2.png] miss
cache: [GET /assets/banners/annons-884c9fbe7f6805249247ef02438fca08.jpg] miss
cache: [GET /assets/admarker-c709fa0ac510720b8ffb56e3a63a8bb3.jpg] miss
cache: [GET /assets/gifts/skolett-b97b0e5b262df6e15b95470f06917758.jpg] miss
cache: [GET /assets/closelabel.png] miss
cache: [GET /assets/loading.gif] miss

プロダクション.rb

  config.serve_static_assets = true
  config.action_controller.perform_caching = true

rake assets:precompileローカルで本番モードで正常に実行し、Heroku にも正常にアップロードしました。

私の問題はこの質問に非常に密接に関連していると思いますが、本番モードで実行しています (違いはありませんよね?)。

Memcached を少し試してみましたが、使い方はまだ初心者です。

私の個人的な信念は、検証を台無しにするキャッシュ内からキャッシュされた画像を取得しようとしているということです。たとえば、断片化されたキャッシュで探している

banners/annons-884c9fbe7f6805249247ef02438fca08.jpg

一方、次のような別の「コード」でキャッシュされる場合があります

banners/annons-121b1b12b12b1b1b11b1b.jpg

これは正しいです?

私の質問に:

  1. この質問と同じ問題がありますか? いわば、キャッシュ内にキャッシュしているということですか?

  2. Memcached と Rake::Cache はこれを処理する方法ですか? もしそうなら、断片化された html ページを memcache ではなくファイルとして保存することをお勧めします (それらは 1.000 x 3 Mb です)。どうやってやるの?

  3. アプリには書き込み権限がないため、fragment_caching が実際に Heroku でこれらのファイルを作成しないのは正しいですか?

  4. これは私のアプリのパフォーマンスに影響を与える可能性がありますか (非常に遅いです)?

  5. 要するに、これを修正する簡単な方法は何でしょうか?

4

1 に答える 1

0

Memcache の使用を開始したところ、この問題は解決しました。よくわかりませんが、期待どおりに動作するようになりました (Miss Store ---> Fresh)。

于 2012-10-30T05:43:11.780 に答える