Varnish – Các lệnh cơ bản

Bài này thuộc phần 5 của 6 phần trong serie Varnish cho WordPress

Trong các bài trước của serie này, mình đã hướng dẫn bạn rất chi tiết cách cài đặt và cấu hình Varnish trên hai loại webserver phổ biến nhất là Apache và NGINX, cùng với hai Linux distro phổ biến nhất là CentOS/RHEL và Ubuntu/Debian. Thông qua các bài đó, mình đã đảm bảo được với bạn rằng máy chủ của bạn đã có Varnish và nó đang hoạt động rất tốt phải không nào? Nếu bạn chỉ muốn cài đặt và cho nó chạy thì có thể dừng lại tại đây, nhưng nếu bạn muốn hiểu hơn về Varnish thì các bài từ đây sẽ giúp bạn có một cái nhìn chi tiết hơn về nó, và các điều cần nắm bắt khi quản trị Varnish.

Trong bài này, mình sẽ nói qua về các lệnh cơ bản mà bạn có thể dùng trong môi trường các dòng lệnh của Linux để giúp bạn quản trị Varnish tốt hơn. Lưu ý là ở đây mình chỉ đề cập đến các lệnh cơ bản mà bạn hay sử dụng mà thôi, còn các lệnh nâng cao của Varnish mình xin bỏ qua mà các bạn muốn biết thì có thể xem Varnish User Guide.

Lệnh khởi động Varnish

Để khởi động (start) và khởi động lại Varnish (restart), chúng ta có một số lệnh cơ bản như sau:

Lệnh Giải thích
service varnish start Lệnh này sẽ khởi động Varnish để bắt đầu chạy, được sử dụng khi Varnish đang được tắt.
service varnish restart Lệnh này là khởi động lại Varnish, khi khởi động lại thì các thay đổi trong cấu hình VCL sẽ được áp dụng, đồng thời Varnish sẽ xóa toàn bộ cache đang có.
service varnish reload Lệnh này chỉ khởi động và nạp lại các cấu hình VCL mà không xóa cache Varnish đang có.

Dễ hiểu ha?

Lệnh quản trị Varnish

Varnish là một server software nên nó cũng cung cấp cho bạn một khu vực riêng để quản trị thông qua các dòng lệnh, khu vực này ta gọi nó là Varnish Admin. Để truy cập vàoVarnish Admin, hãy thử gõ varnishadm, bạn sẽ thấy thế này:

varnishadm

Để thoát ra bạn có thể gõ quit và Enter. Để xem danh sách các lệnh quản trị có trong Varnish Admin, gõ help.

varnishadm-help

Yeah, còn ý nghĩa của từng lệnh thì bạn có thể đọc tại đây.

Lệnh varnishlog

Bạn đừng bao giờ cố gắng tìm kiếm một file log nào của Varnish trong server bởi vì nó không lưu log vào ổ đĩa mà sẽ tiến hành hiển thị log theo thời gian thực nếu bạn gõ lệnh varnishlog.

varnishlog

Nếu bạn muốn ghi log ra một file nào đó, bạn có thể thêm tham số -w như sau:

varnishlog -w /var/log/varnish.log

Tham khảo thêm tại đây.

Lệnh varnishstat

Đây cũng là một lệnh mà Varnish sẽ hiển thị ra theo thời gian thực khi bạn sử dụng nó. Lệnh varnishstat sẽ hiển thị các con số thống kê chi tiết trong quá trình xử lý cache của Varnish như có bao nhiêu trang đang được cache, tỷ lệ HIT và MISS của cache, số lần kết nối lỗi giữa frontend (Varnish) và backend server (Apache/NGINX/….).

varnishstat

Lệnh varnishhist

varnishhist cũng là một lệnh khá hay để bạn xem và đối chiếu giữa các lượt request đến cache (HIT) so với các lượt request trực tiếp vào backend server (MISS – khi chưa có cache), varnishhist sẽ thống kê theo dạng biểu đồ như thế này:

varnishhist

What the hell is it? Như thế này, bạn thấy chữ n = 909 trong ảnh không? Nghĩa là mình đã theo dõi được 909 requests đến Varnish bao gồm HIT và MISS. Ký tự hình ống (|) biểu diễn các request được cache (HIT) và ký tự dấu thăng (#) là các requests gửi đến thẳng backend server (MISS). Cái trúc bên dưới có số 1e-6, 1e-5,….là một trục đối số biểu thị thời gian hoàn thành request của cả hai loại HIT và MISS.

Bạn nên nhớ rằng cái trục bên dưới là đối số nên nếu request của bạn càng lùi về bên trái thì nghĩa là thời gian hoàn thành request càng nhanh, ta có bảng tính như sau:

  • 1e1 = 10 giây
  • 1e0 = 1 giây
  • 1e-1 = 0.1 giây hay 100 ms (milliseconds)
  • 1e-2 =  0.01 giây hay 10 ms
  • 1e-3 = 0.001 giây hay 1 ms hay 1000 µs (microseconds)
  • 1e-4 = 0.0001 giây hay 0.1 ms hay 100 µs
  • 1e-5 = 0.00001 giây hay 0.01 ms hay 10 µs
  • 1e-6 = 0.000001 giây hay 0.001 ms hay 1 µs or 1000 ns (nanoseconds)

Như vậy ở hình trên, nghĩa là các request được HIT trên website mình có tốc độ khoảng 10 phần tỷ giây (10 nano giây).

Lệnh varnishhist cũng có các tham số để bạn có thể lọc dữ liệu cần xem ra, xem danh sách tham số tại đây.

Lệnh varnishtop

Lệnh này cũng dùng để xem thống kê dữ liệu request đến Varnish server và thường chúng ta sẽ sử dụng nó để làm các công việc như xem các request vào Varnish hoặc các trang được request vào backend server.

Một số cách sử dụng lệnh này như:

Hiển thị các trang được request vào backend server nhiều nhất (MISS)
varnishtop -i txurl

Hiển thị các trang được request vào cache nhiều nhất (HIT)
varnishtop -i rxurl

Hiển thị các user agent truy cập vào cache nhiều nhất
varnishtop -i RxHeader -C -I ^User-Agent

Xem các cookie được gửi từ trình duyệt nhiều nhất
varnishtop -i RxHeader -I Cookie

Xem địa chỉ host truy cập (bạn có thể hiểu là tên miền của website có cache)
varnishtop -i RxHeader -I '^Host:'

Lời kết

Kết thúc phần này bạn đã biết sơ qua một số lệnh cơ bản trong Varnish để theo dõi tiến trình làm việc của nó tốt hơn. Ở bài kế tiếp, minh sẽ nói qua về các quy tắt trong ngôn ngữ VCL (Varnish Configuration Language) để bạn có thể tự cấu hình cho Varnish ghi và xuất cache như ý muốn.

Leave your comment