前回は ウェブキャッシュサーバnuster入門-1(基本)ウェブキャッシュサーバnuster入門-2(Purge)でnusterを簡単に紹介しました。今回はcache管理について紹介したいと思います。

cache 管理

cacheはランタイムでAPIで管理できます。まずはuriを定義する:

cache on uri /nuster/cache

そして、このURIにたいしてHTTPを投げることで、管理できます。

cacheを有効無効にする

headers

header value description
state enable 有効にする
disable 無効にする
name cache-rule NAME NAMEという名前のcache-ruleを有効無効にする
proxy NAME NAMEという名前のProxyのすべてのcache-ruleを
* すべてのcache-rulesを

Examples

  • cache-rule r1を無効にする

curl -X POST -H "name: r1" -H "state: disable" http://127.0.0.1/nuster/cache

  • proxy app1bのすべてのcache-ruleを無効

curl -X POST -H "name: app1b" -H "state: disable" http://127.0.0.1/nuster/cache

  • すべてのcache-ruleを有効

curl -X POST -H "name: *" -H "state: enable" http://127.0.0.1/nuster/cache

TTL

cacheのTTLを変更する、既存のキャッシュは変更されません。

headers

header value description
ttl new TTL TTLに変更
name cache-rule NAME NAMEという名前のcache-ruleのTTLを変更
proxy NAME NAMEという名前のProxyのすべてのcache-ruleを
* すべてのcache-rulesを

Examples

curl -X POST -H "name: r1" -H "ttl: 0" http://127.0.0.1/nuster/cache
curl -X POST -H "name: r2" -H "ttl: 2h" http://127.0.0.1/nuster/cache

stateとTTLを同時に変更

curl -X POST -H "name: r1" -H "ttl: 0" -H "state: enabled" http://127.0.0.1/nuster/cache

stats

curl http://127.0.0.1/nuster/cache

Output

  • used_mem: HTTPリスポンスが使っているメモリ
  • req_total: トータルrequest数、cacheが有効にしてないproxyのrequestは含まない
  • req_hit: cache hitのrequest数
  • req_fetch: バックエンドから取得して返すrequest数
  • req_abort: abrotしたrequest数
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.