Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Upcoming SlideShare
Varnishの使い方~All Aboutでの使い方を例に~
Next
Download to read offline and view in fullscreen.

7

Share

Download to read offline

Varnishのログの眺め方

Download to read offline

varnishncsa,varnishstat,varnishlogの簡単な解説

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

Varnishのログの眺め方

  1. 1. Varnishのログの眺め方 2011/02/11 いわなちゃん(@xcir)
  2. 2. 自己紹介● いわなちゃん(@xcir)● Varnishが好きすぎて困ります!● 六本木とかによくいます● 本当は今日TrafficServerの話をやろうと思ったの ですが検証が間に合わなくて>< 絡んでくれると喜びます!
  3. 3. Varnishのログの仕組み ファイル パイプなど よくあるMWリクエストを処理毎に書き込むためディスクIOに左右されたりします。たくさんのリクエストが来るとパイプも重かったりBufferedLogsなんてのもありますが・・・ 共有メモリ ファイルなどvarnishd varnishncsaリクエストを処理するvarnishdはログを高速なメモリに出力するため低速なディスクに影響されることなくレスポンスを返却できます
  4. 4. Varnishでよく使うログ関係のコマンド● Varnishncsa● Varnishstat● Varnishlog
  5. 5. varnishncsa● NCSA形式のログを出力します● ただ癖が結構あるので注意が必要です ● 以前ESIやってたとき大変でした・・・● 配布してるtgzだとカスタムログ形式は使えません (2.1.5)● trunkのだと-Fオプションで出来るっぽいです 今回のバージョン入ると思ったんですがまだでした・・・
  6. 6. varnishstat①● チューニングをするときに一番使います● 注意すべき値 ● スレッド設定を見直したいもの – N worker threads not created ● スレッドを新規につくろうとしたけど作れなかった個数 出ないのが望ましいです – N worker threads limited ● スレッドプールの最大値でもう作れないです>< 0以上なら設定の見直しなどをしたほうが良さそうです – N dropped work requests ● 処理を諦めたリクエストの数 もう限界なので設定を見直しましょう 大体スレッドプールの個数を調整するといいと思います 最初から上がってるスレッド数を大きめにするのも有効です
  7. 7. varnishstat②● 注意すべき値 ● キャッシュポリシーを考えたいもの – ヒット率 ● 高いほどいいので頑張りましょう – N LRU nuked objects ● オブジェクトが期限切れ前に削除されています。 ストレージサイズが小さいorいらないものも沢山キャッシュしているでしょう 例えばヒット率が高いのにnukedカウンタが上がっている場合 一部の沢山アクセスされるオブジェクトと ほとんどアクセスされないオブジェクトがあると思われます TTLの調整などでよりパフォーマンスがよくなる可能性があります
  8. 8. varnishstat③(ちょっと自信なさげ)● 注意すべき値 ● 共有メモリの設定値を見直したいかも – SHM flushes due to overflow ● ソースをざっくり眺めた感じだとおそらくこの値は共有メモリがフラッシュされた回数です もしログをvarnishncsaなどで保存してるときはどれぐらいの頻度でフラッシュされてる か見たほうがいいと思います。 アクセス数が多いけどログもちゃんと保存したいときは /etc/sysconfig/varnishのMEMLOCKを調整したほうがいいかも?
  9. 9. varnishlog● Varnishがログとしているすべての出力を見れます ● めちゃくちゃ量が多いので絞り込みオプションがあります – -b ● Varnish・バックエンド間とのログのみ – -c ● クライアント・Varnish間とのログのみ – -i [tag] ● 特定のタグだけ出力、大文字小文字は区別しません 例えば-i SessionOpenとした場合は新規セッションが確立したときの情報だけ出力します – -I [Regex] データカラムを評価してヒットしたのを出力します ● – 例えばクライアントから送出されるクッキーのヘッダのを出力したい場合は以下になります ● varnishlog -c -i RxHeader -I Cookie ● 基本構造は以下です   ↓メッセージタグ ↓データ 11 RxRequest c GET ↑トランザクションのグループ             ↑データの流れ
  10. 10. varnishlog 11 RxRequest c GET   ↓メッセージタグ ↓データ 11 RxRequest c GET ↑トランザクションのグループ             ↑データの流れ● 第一カラム:トランザクションのグループ ● 同じ番号は同じHTTPのトランザクションに属します ● あくまでHTTPのなので ユーザ←→Varnish←バックエンドという一連の流れでは ユーザ←→VarnishとVarnish←バックエンドで別番号が振られます
  11. 11. varnishlog 11 RxRequest c GET   ↓メッセージタグ ↓データ 11 RxRequest c GET ↑トランザクションのグループ             ↑データの流れ● 第二カラム:メッセージタグ ● アクティビティの種別でタグが付きます PrefixにRx,Txが付いている場合は意味があります – Rx:Varnishが受け取ったデータ – Tx:Varnishが送信したデータ
  12. 12. varnishlog 11 RxRequest c GET   ↓メッセージタグ ↓データ 11 RxRequest c GET ↑トランザクションのグループ            ↑データの流れ● 第三カラム:データの流れ ● どこからデータが来たかを示します – c:クライアントからのデータ – b:バックエンドからのデータ
  13. 13. varnishlog 11 RxRequest c GET   ↓メッセージタグ ↓データ 11 RxRequest c GET ↑トランザクションのグループ            ↑データの流れ● 第四カラム:実際のデータ
  14. 14. varnishlog example● 12 RxHeader c Host: blog.xcir.net ● クライアント(c)から送出されたHeaderを Varnishが受け取っています(Rx)● 13 TxHeader b Host: blog.xcir.net ● Varnishがバックエンド(b)に対してHeaderを 送出しています(Tx)
  15. 15. 自分を追い込むための 宣伝● 上手く行けば夏コミで Varnishの薄い本だします● 在庫は悲しいので見かけたら 買ってくれると踊ります
  16. 16. ありがとうございました
  • kumamidori

    May. 10, 2021
  • phyatro

    Aug. 30, 2017
  • TomoakiOtsuka1

    Aug. 17, 2016
  • msykiino

    Jul. 24, 2013
  • EijiHachiya

    Jun. 11, 2012
  • KeisukeKadoyama

    Dec. 3, 2011
  • siwamot

    Feb. 12, 2011

varnishncsa,varnishstat,varnishlogの簡単な解説

Views

Total views

7,692

On Slideshare

0

From embeds

0

Number of embeds

73

Actions

Downloads

33

Shares

0

Comments

0

Likes

7

×