Hiệu năng
Jitter là gì?
Jitter is variation in packet delay over time, as distinct from the average delay itself. For voice, gaming and trading, jitter often matters more than latency: a consistent 60 ms is far more usable than an average of 40 ms that regularly spikes to 200 ms, because buffers are sized for the worst case rather than the mean.
Tại sao Jitter quan trọng
Đối với thoại, trò chơi và giao dịch, jitter thường quan trọng hơn độ trễ: 60 ms ổn định hữu ích hơn nhiều so với trung bình 40 ms thường tăng vọt lên 200 ms, vì bộ đệm được định cỡ cho trường hợp xấu nhất thay vì trung bình. Jitter thường đến từ việc xếp hàng trên một liên kết tắc nghẽn, từ sự dao động tuyến đường, hoặc — ở phía máy chủ — từ thời gian bị chiếm dụng CPU làm trì hoãn quá trình lẽ ra đã trả lời. Nguyên nhân cuối cùng đó không thể nhìn thấy trong một bản ghi mạng và là lý do tại sao vCPU chuyên dụng quan trọng đối với khối lượng công việc nhạy cảm với độ trễ. Đo nó bằng mtr hoặc một phiên iperf3 dài thay vì một vài ping; một mẫu năm gói hầu như không cho bạn biết gì về phương sai.
Jitter trong thực tế
Khi bạn chạy một dịch vụ nhạy cảm với độ trễ, jitter là thứ bạn đo bằng mtr hoặc một phiên iperf3 dài, không phải một vài lần ping. Hãy chú ý đến sự biến thiên trong cột delay, không chỉ giá trị trung bình. Nếu thấy các đỉnh nhiễu, hãy kiểm tra CPU steal time trên host—điều đó không hiển thị trong bản ghi mạng. Giảm jitter bằng cách đảm bảo bạn có vCPU chuyên dụng, không dùng tài nguyên dùng chung. Nếu hiểu sai, bộ đệm của bạn sẽ được thiết kế cho trường hợp xấu nhất, nghĩa là lưu lượng thoại, game hoặc trading của bạn sẽ suy giảm đến mức không dùng được trong giờ cao điểm.
Điều mọi người hiểu sai về Jitter
Mọi người cho rằng độ trễ trung bình thấp nghĩa là hiệu năng tốt. Lỗi phổ biến là bỏ qua độ biến thiên, nghĩ rằng trung bình 40 ms với các đỉnh lên tới 200 ms là ổn. Đúng: jitter thường quan trọng hơn độ trễ—bộ đệm được thiết kế cho trường hợp xấu nhất, vì vậy mức 60 ms ổn định vượt trội so với mức trung bình 40 ms nhưng thường xuyên tăng đột biến. Luôn đo trong một khoảng thời gian dài.
Jitter — các câu hỏi thường gặp
Tôi có thể dùng công cụ nào để đo jitter?
Dùng mtr để xem nhanh hoặc chạy iperf3 lâu để phân tích biến thiên. Một mẫu ping năm gói gần như không nói lên điều gì về jitter—nó chỉ hiển thị độ trễ trung bình. Chạy thử trong thời gian dài hơn sẽ lộ ra các đỉnh biến thiên độ trễ vốn thực sự quan trọng đối với lưu lượng thật.
CPU steal time ảnh hưởng đến jitter như thế nào?
CPU steal time làm trì hoãn tiến trình cần trả lời gói tin, gây ra các đỉnh độ trễ bất ngờ. Nguyên nhân này vô hình trong bản ghi mạng, nên thường bị bỏ sót. Đó là lý do vCPU chuyên dụng quan trọng với khối lượng công việc nhạy cảm độ trễ—trên host dùng chung, steal time tạo ra jitter mà bạn không thể sửa từ phía mạng.
Thêm từ hiệu năng
- Thời gian CPU bị chiếm dụng
- Thời gian bị chiếm dụng là tỷ lệ thời gian CPU ảo đã sẵn sàng chạy nhưng hypervisor lại cấp lõi vật lý cho một máy khách khác.
- 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.
- 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.