概要
stackoverflow やネットを調べていると、セッションを使用する高パフォーマンス サイトをキャッシュするためのベスト プラクティスに関する適切なドキュメントが一般的に不足していることがわかります。いくつかの基本的なビルディング ブロック、特にキャッシングに関するいくつかのアイデアを共有できれば助かります。この議論の目的のために、私は memcache を避け、完全に生成された静的ページとページのキャッシングに焦点を当てています。
シナリオを設定するには、Web サーバー (nginx など)、リバース プロキシ (varnish など)、アプリ サーバー (何でも)、db サーバー (mysql など) を想像してください。
匿名
- 静的アイテム (gif/jpg など)
- 半動的 (js/css)
- 動的
ログインしました
- 静的
- 半動的 (js/css)
- 動的
一般的に言えば、すべての Anon はキャッシュ可能であり、ほとんどがログインしている必要があります (動的を無視し、今のところ ESI はありません)。
アノン #1
- はるかに有効期限を設定する
- 可能であれば ETag を設定する
- キャッシュ制御: max-age=315360000
Anon #2 (動的に生成された場合はリバース プロキシに結果をキャッシュさせます。それ以外の場合は Anon #1 ルールが適用されます)
- キャッシュ コントロール: パブリック、s-maxage=3000
アノン #3
- キャッシュ コントロール: パブリック、s-maxage=300
ログイン #1
- はるかに有効期限を設定する
- 可能であれば ETag を設定する
- キャッシュ制御: max-age=315360000
ログイン #2 (動的に生成された場合はリバース プロキシに結果をキャッシュさせます。それ以外の場合はログイン #1 ルールが適用されます)
- キャッシュ コントロール: パブリック、s-maxage=3000
ログイン #3
- キャッシュ制御: s-maxage=0、再検証が必要
あなたの提案は何ですか?回答が入り次第、投稿を更新します。