監控執行緒
你需要跟蹤一些執行緒指標以觀察你的 Varnish Cache。它是否已耗盡 OS 資源或執行良好。
- threads - 所有池中的執行緒數。
- threads_created - 建立的執行緒數。
- threads_failed - Varnish 無法建立執行緒的次數。
- threads_limited - Varnish 被強制不建立執行緒的次數,因為它被最大化了。
- thread_queue_len - 當前佇列長度。等待執行緒的請求數。
- sess_queued - 沒有任何執行緒可用的次數,因此請求必須排隊。
varnishstat -1 | grep "threads\|thread_queue_len\|sess_queued"
MAIN.threads 100 . Total number of threads
MAIN.threads_limited 1 0.00 Threads hit max
MAIN.threads_created 3715 0.00 Threads created
MAIN.threads_destroyed 3615 0.00 Threads destroyed
MAIN.threads_failed 0 0.00 Thread creation failed
MAIN.thread_queue_len 0 . Length of session queue
MAIN.sess_queued 2505 0.00 Sessions queued for thread
如果 thread_queue_len
不為 0,則意味著 Varnish 資源不足並且已開始對請求進行排隊。這將降低這些請求的效能。你需要調查原因。
還要關注 threads_failed
。如果這增加,則意味著你的伺服器以某種方式資源不足。在 threads_limited
中增加數字意味著你可能需要增加伺服器 thread_pool_max
。