Các công cụ như top
, uptime
, w
và chỉ số máy chủ của AppSignal báo cáo số liệu được gọi là tải trung bình . Số liệu này cho bạn biết về mức tải mà hệ thống của bạn đã trải qua, được tính trung bình trong nhiều khung thời gian.
$ uptime
10:14:14 up 60 days, 17:42, 1 user, load average: 0.44, 0.28, 0.25
Mức trung bình tải thường được hiển thị dưới dạng ba số, như trong ví dụ từ uptime
ở trên. Ba số ở cuối kết quả hiển thị tải trung bình trong phút qua (0.44
), trong năm phút qua (0.28
) và mười lăm cuối cùng (0.25
).
Trên AppSignal, mức trung bình tải được hiển thị theo phút trong tám giờ qua và mỗi giờ cho các khung thời gian dài hơn thế.
Tải hệ thống
Để hiểu những mức trung bình tải này cho chúng ta biết điều gì (và khi nào cần được cảnh báo), trước tiên chúng ta cần hiểu tải hệ thống nghĩa là và cách nó được tính.
Tải của một hệ thống về cơ bản là số lượng các quy trình đang hoạt động tại bất kỳ thời điểm nào. Khi không hoạt động, tải là 0. Khi một quy trình bắt đầu, tải sẽ tăng lên 1. Một quy trình kết thúc giảm tải 1. Bên cạnh các quy trình đang chạy, bất kỳ quy trình nào được xếp hàng đợi cũng được tính. Vì vậy, khi một quá trình đang tích cực sử dụng CPU và hai quá trình đang đợi đến lượt của chúng, tải là 3.
Tải trọng dao động nhanh chóng do các quá trình tồn tại trong thời gian ngắn và có thể tăng từ 0 đến 5 trong mili giây và quay trở lại ngay sau đó. Do sự biến động này, sẽ hữu ích hơn khi xem xét mức tải trung bình theo thời gian, điều này mang lại cái nhìn tổng quan hơn về mức tải mà hệ thống đang phải chịu.
Tải trọng trung bình
Bây giờ chúng ta đã biết cách tính tải hệ thống, chúng ta có thể xem xét mức trung bình tải. Như chúng ta đã thấy, tải mà hệ thống đang chịu thường được hiển thị dưới dạng trung bình theo thời gian.
Nói chung, CPU lõi đơn có thể xử lý một quá trình tại một thời điểm. Tải trung bình là 1,0 có nghĩa là một lõi bận 100% thời gian. Nếu mức trung bình tải giảm xuống 0,5, CPU đã không hoạt động trong 50% thời gian.
Nếu mức trung bình tải tăng lên 1,5, thì CPU luôn bận rộn trong khi (trung bình) có một quá trình khác đang chờ 50% thời gian, khiến CPU phải xử lý nhiều công việc hơn nó có thể xử lý.
Bộ xử lý logic
Nguyên tắc chung là mức trung bình tải không được vượt quá số bộ xử lý trong máy. Nếu số lượng bộ xử lý là bốn, tải thường phải ở dưới 4.0.
Hãy nhớ rằng điều này liên quan đến bộ xử lý logic thay vì những cái thực tế trên CPU. Do tính trừu tượng của phần mềm như siêu phân luồng, số lượng bộ xử lý logic hoặc luồng xử lý có thể cao hơn số lõi bộ xử lý vật lý.
Để kiểm tra số lượng bộ xử lý logic trên Linux, hãy đếm số bộ xử lý được liệt kê trong /proc/cpuinfo
hoặc grep processor /proc/cpuinfo | wc -l
, sẽ tự động in ra số dòng bộ xử lý.
Trên máy Mac, bạn có thể hỏi sysctl
cho số lượng bộ xử lý logic trực tiếp bằng cách sử dụng sysctl -n hw.ncpu
.
Đối với một hệ thống có nhiều bộ xử lý logic, mức trung bình tải có thể tăng cao hơn, vì nó có thể chạy nhiều quá trình đồng thời hơn. Trên một máy có hai lõi CPU, mức trung bình tải là 2,0 có nghĩa là cả hai CPU đã được sử dụng 100%, trong khi hai quá trình đang hoạt động ở mức trung bình.
👋 Hãy xem các bài viết khác về hiệu suất của Ruby (trên Rails) trong danh sách kiểm tra giám sát hiệu suất Ruby của chúng tôi.
Đọc trung bình tải
Vì đây là mức trung bình của số lượng quy trình tuyệt đối, nên có vẻ khó xác định mức trung bình tải thích hợp là gì và khi nào cần cảnh báo. Nói chung, vì mỗi lõi CPU của bạn có thể xử lý một quá trình tại một thời điểm, nên hệ thống sẽ không bị quá tải cho đến khi vượt quá 1,0 trên mỗi bộ xử lý logic. Trên hệ thống lõi kép (không có siêu phân luồng), đó sẽ là 2.0.
Thông thường, sẽ tốt nếu mức trung bình tải trên 1,0 mỗi lõi vào phút cuối cùng, nhưng tải tăng cao trong mức trung bình năm hoặc mười lăm phút có thể cho thấy sự cố.
MẸO :Tính năng phát hiện bất thường của AppSignal có thể được sử dụng để mở cảnh báo cho bạn khi mức trung bình tải của bạn duy trì trên một giá trị nhất định trong một khoảng thời gian. Ví dụ:bằng cách sử dụng cài đặt khởi động, chúng tôi sẽ gửi cho bạn thông báo khi tải của bạn duy trì trên 1,5 trong mười lăm phút.
Chúng tôi đã trả lời câu hỏi của bạn về mức trung bình tải hay còn một số phần vẫn chưa rõ ràng? Vui lòng cho chúng tôi biết tại @AppSignal. Tất nhiên, chúng tôi muốn biết bạn thích bài viết này như thế nào hoặc nếu bạn có chủ đề khác mà bạn muốn biết thêm.