0

Varnish 4.0.3 を実行して varnishstat を見ると、約 0.9 - 0.95 のキャッシュ ヒット率が報告されますが、これは私が 90-95% のキャッシュ ヒット率 (正しくない?) と解釈します。ヒットパス カウントが非常に少ないため、キャッシュできないトラフィックが大量にあることがわかりません。私を悩ませているのは、これにもかかわらず、バックエンド サーバーがかなり機能していることです。iftop を見ると、サーバー (他のアプリケーションを実行していない) が約 19Mbit (クライアントへの応答とバックエンド サーバーへの要求ヘッダーを含む) で送信し、バックエンド サーバーから約 14Mbit を受信して​​いることがわかります。

また、キャッシュにわずかな猶予期間があり、1 秒あたり約 1 ~ 2 のリクエストがヒットとしてカウントされますが、バックエンドへのリクエストはまだ行われていますが、それは取るに足らない数のリクエストです。

明らかなはずの何かが欠けているに違いありません。しかし、何?

編集:

    MAIN.uptime 70613 1.00 子プロセスの稼働時間
    MAIN.sess_conn 43313 0.61 セッションが受け入れられました
    MAIN.sess_drop 0 0.00 ドロップされたセッション
    MAIN.sess_fail 0 0.00 セッション受け入れ失敗
    MAIN.sess_pipe_overflow 0 0.00 セッション パイプ オーバーフロー
    MAIN.client_req_400 0 0.00 受信したクライアント要求、400 エラーの対象
    MAIN.client_req_411 0 0.00 受信したクライアント要求 (411 エラーの対象)
    MAIN.client_req_413 0 0.00 受信したクライアント要求 (413 エラーの対象)
    MAIN.client_req_417 0 0.00 受信したクライアント要求 (417 エラーの対象)
    MAIN.client_req 6438096 91.17 良好なクライアント要求を受信
    MAIN.cache_hit 5231719 74.09 キャッシュ ヒット
    MAIN.cache_hitpass 149819 2.12 パスのキャッシュ ヒット数
    MAIN.cache_miss 619678 8.78 キャッシュミス
    MAIN.backend_conn 19491 0.28 バックエンド接続。成功
    MAIN.backend_unhealthy 0 0.00 バックエンド接続。未試行
    MAIN.backend_busy 0 0.00 バックエンド接続。多すぎる
    MAIN.backend_fail 0 0.00 バックエンド接続。失敗
    MAIN.backend_reuse 1279156 18.12 バックエンド接続。再利用します
    MAIN.backend_toolate 5046 0.07 バックエンド接続。閉鎖されました
    MAIN.backend_recycle 1284221 18.19 バックエンド接続。リサイクル
    MAIN.backend_retry 5 0.00 バックエンド接続。リトライ
    MAIN.fetch_head 7 0.00 本体をフェッチしない (HEAD)
    MAIN.fetch_length 166348 2.36 長さのあるフェッチ
    MAIN.fetch_chunked 861097 12.19 フェッチ チャンク
    MAIN.fetch_eof 0 0.00 EOF を取得
    MAIN.fetch_bad 0 0.00 不適切な TE をフェッチ
    MAIN.fetch_close 862 0.01 クローズしたいフェッチ
    MAIN.fetch_oldhttp 0 0.00 HTTP/1.1 より前のフェッチ クローズ
    MAIN.fetch_zero 192834 2.73 ゼロ len 本体をフェッチ
    MAIN.fetch_1xx 0 0.00 本体をフェッチしない (1xx)
    MAIN.fetch_204 0 0.00 フェッチなし (204)
    MAIN.fetch_304 77295 1.09 本体をフェッチしない (304)
    MAIN.fetch_failed 0 0.00 フェッチ失敗 (すべての原因)
    MAIN.fetch_no_thread 0 0.00 フェッチ失敗 (スレッドなし)
    MAIN.プール 2 . スレッド プールの数
    MAIN.threads 400 . スレッドの総数
    MAIN.threads_limited 0 0.00 スレッドヒット最大
    MAIN.threads_created 400 0.01 作成されたスレッド
    MAIN.threads_destroyed 0 0.00 破壊されたスレッド
    MAIN.threads_failed 0 0.00 スレッドの作成に失敗しました
    MAIN.thread_queue_len 0 。セッションキューの長さ
    MAIN.busy_sleep 22 0.00 使用中の objhdr でスリープに送信された要求の数
    MAIN.busy_wakeup 22 0.00 ビジー状態の objhdr でスリープ後に復帰したリクエストの数
    MAIN.sess_queued 0 0.00 スレッドのキューに入れられたセッション
    MAIN.sess_dropped 0 0.00 スレッドでドロップされたセッション
    MAIN.n_object 61732 . 作成されたオブジェクト構造体
    MAIN.n_vampireobject 0 . 復活していないオブジェクト
    MAIN.n_objectcore 61791 . 作成された objectcore 構造体
    MAIN.n_objecthead 59996 . 作成された objecthead 構造体
    MAIN.n_waitinglist 100 . 作成された待機リスト構造体
    MAIN.n_backend 8 . バックエンドの数
    MAIN.n_expired 412530 . 期限切れのオブジェクトの数
    MAIN.n_lru_nuked 0 . LRU nuked オブジェクトの数
    MAIN.n_lru_moved 1938371 . LRU 移動オブジェクトの数
    MAIN.losthdr 0 0.00 HTTP ヘッダーのオーバーフロー
    MAIN.s_sess 43313 0.61 合計セッション数
    MAIN.s_req 6438096 91.17 合計リクエスト数
    MAIN.s_pipe 192 0.00 表示された合計パイプ セッション
    MAIN.s_pass 586507 8.31 確認された渡されたリクエストの合計
    MAIN.s_fetch 1206185 17.08 開始されたバックエンド フェッチの合計
    MAIN.s_synth 0 0.00 行われた合成応答の合計
    MAIN.s_req_hdrbytes 4609529442 65278.77 要求ヘッダー バイト
    MAIN.s_req_bodybytes 615275 8.71 リクエストボディバイト
    MAIN.s_resp_hdrbytes 2888897421 40911.69 応答ヘッダー バイト
    MAIN.s_resp_bodybytes 95537815896 1352977.72 応答本文バイト
    MAIN.s_pipe_hdrbytes 57835 0.82 パイプ要求ヘッダー バイト
    MAIN.s_pipe_in 45698 0.65 クライアントからのパイプされたバイト
    MAIN.s_pipe_out 1305816 18.49 バイトをクライアントにパイプ
    MAIN.sess_closed 24747 0.35 セッションが閉じられました
    MAIN.sess_pipeline 0 0.00 セッション パイプライン
    MAIN.sess_readahead 0 0.00 セッション先読み
    MAIN.sess_herd 813362 11.52 セッション群れ
    MAIN.shm_records 512140676 7252.78 SHM レコード
    MAIN.shm_writes 18119050 256.60 SHM 書き込み
    MAIN.shm_flushes 788498 11.17 オーバーフローによる SHM フラッシュ
    MAIN.shm_cont 89983 1.27 SHM MTX 競合
    MAIN.shm_cycles 277 0.00 バッファーを介した SHM サイクル
    MAIN.sms_nreq 0 0.00 SMS アロケーター要求
    MAIN.sms_nobj 0 . SMS の未処理の割り当て
    MAIN.sms_nbytes 0 . SMS 未処理バイト数
    MAIN.sms_balloc 0 . 割り当てられた SMS バイト数
    MAIN.sms_bfree 0 . 解放された SMS バイト
    MAIN.backend_req 1298448 18.39 バックエンド要求が行われました
    MAIN.n_vcl 1 0.00 読み込まれた VCL の総数
    MAIN.n_vcl_avail 1 0.00 利用可能な VCL の数
    MAIN.n_vcl_discard 0 0.00 破棄された VCL の数
    MAIN.禁止 1 . 禁止の数
    MAIN.bans_completed 1 . 「完了」とマークされた禁止の数
    MAIN.bans_obj 0 . obj.* を使用した禁止の数
    MAIN.bans_req 0 . req.* を使用した禁止の数
    MAIN.bans_added 1 0.00 禁止が追加されました
    MAIN.bans_deleted 0 0.00 削除された禁止
    MAIN.bans_tested 0 0.00 オブジェクトに対してテストされた禁止 (ルックアップ)
    MAIN.bans_obj_killed 0 0.00 禁止によって殺されたオブジェクト (ルックアップ)
    MAIN.bans_lurker_tested 0 0.00 オブジェクトに対してテストされた禁止 (ラーカー)
    MAIN.bans_tests_tested 0 0.00 オブジェクトに対してテストされた禁止テスト (ルックアップ)
    MAIN.bans_lurker_tests_tested 0 0.00 オブジェクト (ラーカー) に対してテストされた禁止テスト
    MAIN.bans_lurker_obj_killed 0 0.00 禁止によって殺されたオブジェクト (ラーカー)
    MAIN.bans_dups 0 0.00 他の禁止に取って代わられる禁止
    MAIN.bans_lurker_contention 0 0.00 ラーカーが検索に道を譲った
    MAIN.bans_persisted_bytes 13 . 永続的な禁止リストによって使用されるバイト
    MAIN.bans_persisted_fragmentation 0 . 断片化による永続禁止リストの余分なバイト数
    MAIN.n_purges 0 . 実行されたパージ操作の数
    MAIN.n_obj_purged 0 . パージされたオブジェクトの数
    MAIN.exp_mailed 949607 13.45 期限切れスレッドにメールされたオブジェクトの数
    MAIN.exp_received 949607 13.45 期限切れスレッドによって受信されたオブジェクトの数
    MAIN.hcb_nolock 6001341 84.99 ロックなしの HCB ルックアップ
    MAIN.hcb_lock 447556 6.34 ロック付き HCB ルックアップ
    MAIN.hcb_insert 447556 6.34 HCB インサート
    MAIN.esi_errors 0 0.00 ESI 解析エラー (ロック解除)
    MAIN.esi_warnings 0 0.00 ESI 解析警告 (ロック解除)
    メイン.vmods 2 . ロードされた VMOD
    MAIN.n_gzip 558747 7.91 Gzip 操作
    MAIN.n_gunzip 22866 0.32 Gunzip 操作
    MAIN.vsm_free 970832 . 空き VSM スペース
    MAIN.vsm_used 83963776 . 使用済み VSM スペース
    MAIN.vsm_cooling 0 . 冷却 VSM スペース
    MAIN.vsm_overflow 0 . オーバーフロー VSM スペース
    MAIN.vsm_overflowed 0 0.00 オーバーフローした VSM スペース
    MGT.uptime 70613 1.00 管理プロセスのアップタイム
    MGT.child_start 1 0.00 子プロセスが開始されました
    MGT.child_exit 0 0.00 子プロセスの正常終了
    MGT.child_stop 0 0.00 子プロセスの予期しない終了
    MGT.child_died 0 0.00 子プロセスが停止しました (シグナル)
    MGT.child_dump 0 0.00 子プロセスのコアがダンプされました
    MGT.child_panic 0 0.00 子プロセスのパニック
    MEMPOOL.vbc.live 24 . 使用中で
    MEMPOOL.vbc.プール 10 . プール内
    MEMPOOL.vbc.sz_wanted 88 . 要求されたサイズ
    MEMPOOL.vbc.sz_needed 120 . 割り当てられたサイズ
    MEMPOOL.vbc.allocs 19491 0.28 割り当て
    MEMPOOL.vbc.frees 19467 0.28 フリー
    MEMPOOL.vbc.recycle 19436 0.28 プールからリサイクル
    MEMPOOL.vbc.timeout 11998 0.17 プールからのタイムアウト
    MEMPOOL.vbc.toosmall 0 0.00 リサイクルするには小さすぎる
    MEMPOOL.vbc.surplus 0 0.00 プールには多すぎます
    MEMPOOL.vbc.randy 55 0.00 プールが干上がった
    MEMPOOL.busyobj.live 6 . 使用中で
    MEMPOOL.busyobj.pool 9 . プール内
    MEMPOOL.busyobj.sz_wanted 65536 . 要求されたサイズ
    MEMPOOL.busyobj.sz_needed 65568 . 割り当てられたサイズ
    MEMPOOL.busyobj.allocs 1298643 18.39 割り当て
    MEMPOOL.busyobj.frees 1298637 18.39 フリー
    MEMPOOL.busyobj.recycle 1298436 18.39 プールからリサイクル
    MEMPOOL.busyobj.timeout 41750 0.59 プールからのタイムアウト
    MEMPOOL.busyobj.toosmall 0 0.00 リサイクルするには小さすぎる
    MEMPOOL.busyobj.surplus 0 0.00 プールには多すぎます
    MEMPOOL.busyobj.ranry 207 0.00 プールが枯渇しました
    MEMPOOL.req0.live 4 . 使用中で
    MEMPOOL.req0.pool 9 . プール内
    MEMPOOL.req0.sz_wanted 65536 . 要求されたサイズ
    MEMPOOL.req0.sz_needed 65568 . 割り当てられたサイズ
    MEMPOOL.req0.allocs 423162 5.99 割り当て
    MEMPOOL.req0.frees 423158 5.99 フリー
    MEMPOOL.req0.recycle 423143 5.99 プールからリサイクル
    MEMPOOL.req0.timeout 36313 0.51 プールからのタイムアウト
    MEMPOOL.req0.toosmall 0 0.00 リサイクルするには小さすぎる
    MEMPOOL.req0.surplus 0 0.00 プールには多すぎます
    MEMPOOL.req0.randy 19 0.00 プールが干上がった
    MEMPOOL.sess0.live 4 . 使用中で
    MEMPOOL.sess0.pool 9 . プール内
    MEMPOOL.sess0.sz_wanted 384 . 要求されたサイズ
    MEMPOOL.sess0.sz_needed 416 . 割り当てられたサイズ
    MEMPOOL.sess0.allocs 21655 0.31 割り当て
    MEMPOOL.sess0.frees 21651 0.31 フリー
    MEMPOOL.sess0.recycle 21642 0.31 プールからリサイクル
    MEMPOOL.sess0.timeout 10076 0.14 プールからのタイムアウト
    MEMPOOL.sess0.toosmall 0 0.00 リサイクルするには小さすぎる
    MEMPOOL.sess0.surplus 0 0.00 プールには多すぎます
    MEMPOOL.sess0.randry 13 0.00 プールが枯渇しました
    MEMPOOL.req1.live 6 . 使用中で
    MEMPOOL.req1.pool 9 . プール内
    MEMPOOL.req1.sz_wanted 65536 . 要求されたサイズ
    MEMPOOL.req1.sz_needed 65568 . 割り当てられたサイズ
    MEMPOOL.req1.allocs 418423 5.93 割り当て
    MEMPOOL.req1.frees 418417 5.93 フリー
    MEMPOOL.req1.recycle 418406 5.93 プールからリサイクル
    MEMPOOL.req1.timeout 35924 0.51 プールからのタイムアウト
    MEMPOOL.req1.toosmall 0 0.00 リサイクルするには小さすぎる
    MEMPOOL.req1.surplus 0 0.00 プールには多すぎます
    MEMPOOL.req1.randy 17 0.00 プールが枯渇しました
    MEMPOOL.sess1.live 6 . 使用中で
    MEMPOOL.sess1.pool 10 . プール内
    MEMPOOL.sess1.sz_wanted 384 . 要求されたサイズ
    MEMPOOL.sess1.sz_needed 416 . 割り当てられたサイズ
    MEMPOOL.sess1.allocs 21659 0.31 割り当て
    MEMPOOL.sess1.frees 21653 0.31 フリー
    MEMPOOL.sess1.recycle 21645 0.31 プールからリサイクル
    MEMPOOL.sess1.timeout 10040 0.14 プールからのタイムアウト
    MEMPOOL.sess1.toosmall 0 0.00 リサイクルするには小さすぎる
    MEMPOOL.sess1.surplus 0 0.00 プールには多すぎます
    MEMPOOL.sess1.ranry 14 0.00 プールが枯渇しました
    SMA.s0.c_req 1349644 19.11 アロケーター要求
    SMA.s0.c_fail 0 0.00 アロケーターの失敗
    SMA.s0.c_bytes 22210720975 314541.53 割り当てられたバイト
    SMA.s0.c_freed 19148751042 271178.83 解放されたバイト
    SMA.s0.g_alloc 105992 . 未払いの割り当て
    SMA.s0.g_bytes 3061969933 . 未処理のバイト数
    SMA.s0.g_space 2306739187 . 利用可能なバイト
    SMA.Transient.c_req 1343403 19.02 アロケーター要求
    SMA.Transient.c_fail 0 0.00 アロケーターの失敗
    SMA.Transient.c_bytes 24207322266 342816.79 割り当てられたバイト
    SMA.Transient.c_freed 24201619786 342736.04 解放されたバイト数
    SMA.Transient.g_alloc 7499 . 未払いの割り当て
    SMA.Transient.g_bytes 5702480 . 未処理のバイト数
    SMA.Transient.g_space 0 . 利用可能なバイト
    VBE.backend1([IP]).vcls 1 . VCL リファレンス
    VBE.backend1([IP]).happy 18446744073709551615 . ハッピーヘルスプローブ
    VBE.backend1([IP]).bereq_hdrbytes 173320400 2454.51 要求ヘッダー バイト
    VBE.backend1([IP]).bereq_bodybytes 238971 3.38 リクエスト ボディ バイト
    VBE.backend1([IP]).beresp_hdrbytes 124704577 1766.03 応答ヘッダー バイト
    VBE.backend1([IP]).beresp_bodybytes 19209840560 272043.97 応答本文バイト
    VBE.backend1([IP]).pipe_hdrbytes 14288 0.20 パイプ要求ヘッダー バイト
    VBE.backend1([IP]).pipe_out 8069 0.11 バックエンドにパイプされたバイト
    VBE.backend1([IP]).pipe_in 335893 4.76 バックエンドからパイプされたバイト
    VBE.backend2([IP]).vcls 1 . VCL リファレンス
    VBE.backend2([IP]).happy 18446744073709551615 . ハッピーヘルスプローブ
    VBE.backend2([IP]).bereq_hdrbytes 173379423 2455.35 要求ヘッダー バイト
    VBE.backend2([IP]).bereq_bodybytes 76962 1.09 リクエスト ボディ バイト
    VBE.backend2([IP]).beresp_hdrbytes 124652416 1765.29 応答ヘッダー バイト
    VBE.backend2([IP]).beresp_bodybytes 18690565655 264690.15 応答本文バイト
    VBE.backend2([IP]).pipe_hdrbytes 14629 0.21 パイプ要求ヘッダー バイト
    VBE.backend2([IP]).pipe_out 8558 0.12 バックエンドにパイプされたバイト
    VBE.backend2([IP]).pipe_in 284168 4.02 バックエンドからパイプされたバイト
    VBE.backend3([IP]).vcls 1 . VCL リファレンス
    VBE.backend3([IP]).happy 18446744073709551615 . ハッピーヘルスプローブ
    VBE.backend3([IP]).bereq_hdrbytes 173448768 2456.33 要求ヘッダー バイト
    VBE.backend3([IP]).bereq_bodybytes 75294 1.07 リクエスト ボディ バイト
    VBE.backend3([IP]).beresp_hdrbytes 124641060 1765.13 応答ヘッダー バイト
    VBE.backend3([IP]).beresp_bodybytes 18738758550 265372.64 応答本文バイト
    VBE.backend3([IP]).pipe_hdrbytes 17940 0.25 パイプ要求ヘッダー バイト
    VBE.backend3([IP]).pipe_out 16704 0.24 バックエンドにパイプされたバイト
    VBE.backend3([IP]).pipe_in 301836 4.27 バックエンドからパイプされたバイト
    VBE.backend4([IP]).vcls 1 . VCL リファレンス
    VBE.backend4([IP]).happy 18446744073709551615 . ハッピーヘルスプローブ
    VBE.backend4([IP]).bereq_hdrbytes 173265357 2453.73 要求ヘッダー バイト
    VBE.backend4([IP]).bereq_bodybytes 227023 3.22 リクエスト ボディ バイト
    VBE.backend4([IP]).beresp_hdrbytes 124724341 1766.31 応答ヘッダー バイト
    VBE.backend4([IP]).beresp_bodybytes 18642562615 264010.35 応答本文バイト
    VBE.backend4([IP]).pipe_hdrbytes 22537 0.32 パイプ要求ヘッダー バイト
    VBE.backend4([IP]).pipe_out 12367 0.18 バックエンドにパイプされたバイト
    VBE.backend4([IP]).pipe_in 383919 5.44 バックエンドからパイプされたバイト
    LCK.sma.creat 2 0.00 作成されたロック
    LCK.sma.destroy 0 0.00 破棄されたロック
    LCK.sma.locks 5272603 74.67 ロック操作
LCK.hcb.locks 837080 11.85 ロック操作
    LCK.hcl.creat 0 0.00 作成されたロック
    LCK.hcl.destroy 0 0.00 破棄されたロック
    LCK.hcl.locks 0 0.00 ロック操作
    LCK.vcl.creat 1 0.00 作成されたロック
    LCK.vcl.destroy 0 0.00 破棄されたロック
    LCK.vcl.locks 2604799 36.89 ロック操作
    LCK.sess.creat 43306 0.61 作成されたロック
    LCK.sess.destroy 43304 0.61 破壊されたロック
    LCK.sess.locks 4765 0.07 ロック操作
    LCK.wstat.creat 1 0.00 作成されたロック
    LCK.wstat.destroy 0 0.00 破棄されたロック
  LCK.wstat.locks 3421304 48.45 ロック操作
    LCK.wq.locks 6449131 91.33 ロック操作
    LCK.objhdr.creat 447638 6.34 作成されたロック
    LCK.objhdr.destroy 387644 5.49 破棄されたロック
    LCK.objhdr.locks 42615452 603.51 ロック操作
    LCK.exp.creat 1 0.00 作成されたロック
    LCK.exp.destroy 0 0.00 破棄されたロック
    LCK.exp.locks 4462106 63.19 ロック操作
    LCK.lru.creat 2 0.00 作成されたロック
    LCK.lru.destroy 0 0.00 破棄されたロック
    LCK.lru.locks 4259219 60.32 ロック操作
    LCK.cli.creat 1 0.00 作成されたロック
    LCK.cli.destroy 0 0.00 破棄されたロック
    LCK.cli.locks 23549 0.33 ロック操作
    LCK.ban.creat 1 0.00 作成されたロック
    LCK.ban.destroy 0 0.00 破壊されたロック
    LCK.ban.locks 1594008 22.57 ロック操作
    LCK.vbp.creat 1 0.00 作成されたロック
    LCK.vbp.destroy 0 0.00 破棄されたロック
    LCK.vbp.locks 112922 1.60 ロック操作
LCK.backend.locks 2626872 37.20 ロック操作
    LCK.vcapace.creat 1 0.00 作成されたロック

※メッセージ制限のため、ログから一部(平穏な部分)を削除する必要がありました。

これで、client_req - (cache_hit + cache_hitpass + cache_miss) = 436880 で「その他のキャッシュ不可のリクエスト」を計算しました。これに、キャッシュされていない cache_hitpass とキャッシュ ミス (または単に client_req-cache-hit) を加えると、合計は 586699 になります。または約18.7%。それらが重いリクエストである場合、それがトラフィックの原因である可能性があると思います. しかし、私は少し納得していません。

4

1 に答える 1

0

いずれかのサーバーのアクセス ログを調べてみましたか? おそらく、Varnish 経由ではないリクエストが届いていますか?

また、少なくとも Varnish 3 では、キャッシュ ヒット率は、そもそもキャッシュから発生する可能性のあるヒットから計算されることを知っています。たとえば、標準構成では、POST リクエストはカウントされません。

アクセスログから何らかの洞察が得られるかもしれません...

于 2016-03-14T09:39:00.413 に答える