web-dev-qa-db-ja.com

選択したVarnishキャッシュサイズが理想的かどうかを確認する方法は?

Varnishキャッシュを512 MBのキャッシュサイズを使用するように構成しました。

varnishd ... -s file,/var/cache/varnish.cache,512M

質問:

  • 512 MBが小さすぎる、大きすぎる、または大丈夫かどうかを監視するにはどうすればよいですか?
  • キャッシュの現在の使用サイズを取得するにはどうすればよいですか?
  • キャッシュがいっぱいになったためにオブジェクトがキャッシュから削除される頻度を確認するにはどうすればよいですか?
20
knorv

私は解決策を見つけました:

varnishstatを実行すると、Varnishが割り当てた最大キャッシュサイズ(この場合は512 MB)を監視できます。次に、出力行「割り当てられたバイト数」と「空きバイト数」を探します。

以下の関係が成り立つ:

Command line configuration of max size = [bytes allocated] + [bytes free]

「空きバイト」のサイズに応じて、キャッシュサイズを微調整して適切なレベルを見つけることができます。

18
knorv

n_lru_nukedカウンターを監視します。増加するたびに、ストレージが不足しているため、Varnishはキャッシュから何かをスローします。

理想的には、LRUカウンターをまったく増加させたくない場合は、通常、キャッシュからデータをキックするため、再フェッチする必要がありますが、テールが長い場合は、LRUを回避できません。

15
perbu

すべてのデータがキャッシュに収まると思わない限り、キャッシュヒットとキャッシュミスの比率を調べます。収益が減少します。キャッシュを2倍にすると、おそらくミス率が半減します。これは、リクエストの半分がキャッシュされていない場合に大きな利益となり、90%の場合はそれほどではありません。

1
eas