[Nginx] Connection checking

Tác giả: 22/05/2024

Hôm nay Nhân Hòa sẽ cùng các bạn cấu hình xem lượng connection đang kết nối đến nginx server nhé.

Máy chủ nginx có một mô-đun gọi là HttpStubStatusModule. Mô-đun này cung cấp khả năng nhận một số trạng thái từ nginx. Bạn sẽ nhận được thông tin sau:

  1. Số lượng tất cả các kết nối mở.
  2. Số liệu thống kê về các kết nối được chấp nhận.
  3. Kết nối mỗi giây.

Tất nhiên rồi, chúng ta sẽ cài nginx đầu tiên

apt update && apt upgrade -y

apt install nginx -y 

systemctl enable nginx

Cấu hình

Chỉnh sửa tệp file default nginx hoặc file nginx vhost của bạn.

vi default

Thêm location đoạn sau

location /nginx_status {
# Turn on stats
stub_status on;
access_log off;
# only allow access from 113.22.227.xx #
allow 113.22.227.x;
deny all;
}

Sau đó khởi động lại nginx

service nginx restart

Tiếp theo truy cập vào url tên miền hoặc http://your_IP_webserver/nginx_status từ địa chỉ IP được cho phép xem location này.

 

 

 

 

 

 

 

 

Ở đây

  1. 151 = Số lượng tất cả các kết nối mở (Number of all open connections): Đây là số lượng kết nối hiện tại đang mở trên máy chủ Nginx. Mỗi khi một khách hàng hoặc ứng dụng kết nối đến máy chủ, một kết nối mới được mở. Khi số lượng kết nối mở đạt tới giới hạn, máy chủ có thể không thể chấp nhận thêm kết nối mới.
  2. 1440 = Số lượng kết nối đã được chấp nhận (Accepted connections): Đây là tổng số lượng kết nối đã được máy chủ Nginx chấp nhận kể từ khi khởi động hoặc tính đến thời điểm hiện tại. Khi một kết nối được chấp nhận, nó có thể được xử lý hoặc bị từ chối.
  3. 1440 = Số lượng kết nối đã được xử lý (Handled connections): Đây là tổng số lượng kết nối mà máy chủ Nginx đã xử lý thành công kể từ khi khởi động hoặc tính đến thời điểm hiện tại. Kết nối được xử lý thành công khi máy chủ hoàn thành yêu cầu từ khách hàng hoặc ứng dụng.
  4. 51689 = Số lượng xử lý yêu cầu (Handled requests): Đây là tổng số lượng yêu cầu mà máy chủ Nginx đã xử lý thành công kể từ khi khởi động hoặc tính đến thời điểm hiện tại. Mỗi kết nối có thể chứa nhiều yêu cầu. Số lượng yêu cầu xử lý được phản ánh sự tương tác giữa máy chủ và khách hàng/ứng dụng.

Nhận định:

“Requests per connection” được tính bằng cách chia giá trị “handles requests” (số lượng yêu cầu đã xử lý) cho giá trị “handled connections” (số lượng kết nối đã xử lý).

Với giá trị “handles requests” là 51689 và “handled connections” là 1440, ta có:

Requests per connection = 51689 / 1440 ≈ 35.89

Do đó,số lượng yêu cầu trung bình mà mỗi kết nối đã xử lý được là khoảng 35.89.
Số lượng kết nối trong 1 giây = 1440 / 60 = 24 kết nối/giây

Hẹn gặp lại các bạn ở các bài viết sau tại wiki.nhanhoa.com