お役に立てれば幸いです
その場で画像を生成する画像サーバーがあります。生成された画像をキャッシュするためにワニスを使用しています。
ワニスが受け取った (画像ごとの) リクエスト数と、それがヒットかミスか (パスはミスとしてマークされる) を記録する必要があります。現在、ヒット/ミスを含むアクセスログをファイルに書き込んでいます。次に、crontab を使用してこのアクセスログファイルを処理し、データをデータベースに書き込みます...
代わりにやりたいことは次のとおりです。
Varnish でバックエンドにリクエストを送信し、キャッシュ ヒットを通知します (可能であれば、応答サイズ (バイト))。バックエンドはこのデータを保存できます...
これはまったく可能ですか?
誰かが興味を持っている場合:
- それぞれ 1 つの (java+tomcat) バックエンドを持つ 2 つのワニス インスタンス。
- サービスは、リクエストで行われた要件に固有の各画像を操作および生成します...
以下は1日あたりです。
- 各ページに少なくとも 3 つの画像が含まれる 3,500 万を超えるページビュー。
- Varnish は、約 300 万件以上の画像リクエストを受け取ります (画像はブラウザによってキャッシュされます)。
- ワニスの命中率は87%
- ヒットの応答時間は数マイクロ秒
- ミスの応答時間は、画像のサイズ (ソースと出力の両方) に応じて 50 ミリ秒から 1000 ミリ秒です。