私は多かれ少なかれデフォルトのインストールでVarnish 3.0.3(この記事の執筆時点で最新)を使用しており、次のストレージを使用しています。
# # Cache file location
VARNISH_STORAGE_FILE=/var/lib/varnish/varnish_storage.bin
#
# # Cache file size: in bytes, optionally using k / M / G / T suffix,
# # or in percentage of available disk space using the % suffix.
VARNISH_STORAGE_SIZE=4000M
#
# # Backend storage specification
VARNISH_STORAGE="file,${VARNISH_STORAGE_FILE},${VARNISH_STORAGE_SIZE}"
#
キャッシュできるページのほとんどは、TTLが非常に長くなります。私が作業しているサイトは巨大で、数百万のページがあり、上記のストレージサイズ(4 GB)に収まらない可能性があります。
質問のための準備:
ストレージスペース全体が満杯で、キャッシュ内の期限がまだ切れていないとします(TTLはキャッシュ内のすべてのアイテムで2週間です)。
Ban Lurkerは、期限切れのアイテムのみを削除し、期限切れのアイテムは削除しないため、ここでは役に立たないと想定しています。
質問:
上記のシナリオで、まだキャッシュにないものに対して追加のリクエストがあった場合、Varnishはどうなりますか?Varnishは、それらのアイテムのTTLに関係なく、キャッシュから古いアイテムを削除しようとしますか?Varnishはクラッシュしますか?ハング?
Varnishがシナリオを処理しない場合、シナリオをより適切に処理するように構成する方法はありますか?(キャッシュ内のアイテムのTTLを明らかに下げることはできますが、追加の提案があるかどうか疑問に思っています)。
このシナリオでは、ワニスがリクエストへの応答を効果的に停止することがわかりました。これが発生した時点で、私はボックスのメモリやCPUが不足していません。
ありがとう。
ファローアップ:
私もこの投稿を見ました
それは私を
これはすべてが「発生する」ことを示しているようです...しかし、実際にはURLのPURGEリクエストを送信しているようです。VCLに適切なものを追加する必要がある場合があります(https://www.varnish-cache.org/を参照) docs / 3.0 / tutorial / purging.html)
私はそれを試すつもりです、そしてそれが問題を解決するならばフォローアップします。