Hiệu năng

CPU steal time là gì?

Còn được gọi là: st time
Định nghĩa

Steal time is the proportion of time a virtual CPU was ready to run but the hypervisor gave the physical core to another guest. It appears as the "st" column in top and vmstat. Sustained values above 2–3% indicate contention and show up as tail-latency spikes rather than as uniformly slow throughput.

Tại sao CPU steal time quan trọng

Nó xuất hiện dưới dạng cột "st" trong top và vmstat. Giá trị duy trì trên 2–3% cho thấy sự tranh chấp và biểu hiện dưới dạng các đỉnh độ trễ ở cuối, thay vì thông lượng chậm đều.

CPU steal time trong thực tế

Khi bạn đang chạy một máy chủ, hãy theo dõi cột st trong top và vmstat. Nếu nó luôn cao hơn 2–3%, CPU của bạn đang bị chia sẻ nhiều hơn khối lượng công việc của bạn mong đợi. Chi phí không phải là sự chậm lại đồng đều—mà là các đột biến độ trễ ở cuối gây hỏng các tác vụ nhạy cảm về thời gian. Bạn có thể thay đổi kích thước phiên bản của mình hoặc chuyển sang một máy chủ ít đông đúc hơn. Nếu bạn bỏ qua điều này, bạn sẽ đuổi theo bóng ma trong việc tự tinh chỉnh trong khi nút thắt cổ chai thực sự nằm ở phía hypervisor.

Điều mọi người hiểu sai về CPU steal time

Người ta thường nhầm lẫn thời gian CPU bị đánh cắp (steal time) với dấu hiệu cho thấy các tiến trình của chính họ đang tiêu thụ quá nhiều CPU. Không phải vậy. Thời gian bị đánh cắp có nghĩa là CPU ảo của bạn đã sẵn sàng nhưng hypervisor đã cấp lõi vật lý cho một máy khách khác. Cách sửa: nhìn vào cột st, không phải các cột user hay system. Steal cao nghĩa là vấn đề nằm bên ngoài phiên bản của bạn, không phải bên trong.

CPU steal time — các câu hỏi thường gặp

Tại sao CPU steal time trên VPS của tôi lại cao như vậy?

Steal time cao thường có nghĩa là hypervisor của bạn đang quá tải. Các guest khác trên cùng một máy chủ vật lý đang cạnh tranh nhân CPU. Không phải chỉ do workload của bạn gây ra. Nếu st duy trì trên 2–3%, hãy cân nhắc chuyển sang nhà cung cấp ít tranh chấp hơn hoặc có nhân chuyên dụng.

Tôi có thể tự giảm thời gian CPU bị chiếm dụng không?

Không trực tiếp từ bên trong instance của bạn. Steal time do hypervisor áp đặt. Bạn có thể giảm sự phụ thuộc vào CPU bằng cách tối ưu hóa mã của mình, nhưng steal thực tế chỉ giảm khi host ít tranh chấp hơn. Đôi khi di chuyển sang một physical host khác sẽ giúp ích.

Thêm từ hiệu năng

RTT
RTT là thời gian để một gói tin đi đến đích và để phản hồi quay trở lại, được đo bằng mili giây.
Jitter
Jitter là sự biến thiên về độ trễ gói tin theo thời gian, khác với độ trễ trung bình.
TTFB
TTFB đo thời gian từ khi gửi yêu cầu đến khi nhận được byte đầu tiên của phản hồi.