Máy ảo, container và chạy thẳng
Ảo hoá làm CPU chậm 1,05 lần và I/O chậm 11 lần. Và lần đo đầu tiên của tôi đổ lỗi nhầm cho ảo hoá.
Ảo hoá làm CPU chậm 1,05 lần và I/O chậm 11 lần. Và lần đo đầu tiên của tôi đổ lỗi nhầm cho ảo hoá.
Bài chốt sê-ri Linux: mười con số nền của một máy đủ để ước lượng gần như mọi quyết định hiệu năng, một danh sách kiểm rút từ chính những lần tôi đo sai, và một phát hiện — chạy cùng một file nguồn bằng gcc rồi clang, con số đọc bộ nhớ tuần tự đi mất một phần ba, chứng minh rằng băng thông là của một *cặp* (máy + đoạn mã đọc nó), không phải của riêng cái máy.
docker stats báo CPU 100% và câu trả lời không phải là cấp thêm nhân. Bốn lệnh tìm ra nguyên nhân thật.
Chốt sê-ri 50 phần: mọi con số đáng nhớ, và bảy bài học về cách đo mà tôi học được bằng cách đo sai.
CNI quyết định pod nhận IP thế nào và gói tin đi giữa các node ra sao. Dựng hai cụm giống hệt, đổi mỗi plugin mạng: kindnet định tuyến thuần đạt 87,4 Gbit/s liên node, Calico với đường hầm IPIP chỉ 45,6 — chậm 48%, vì mỗi gói bị bọc thêm một lớp IP header (dev tunl0). Qua Service chỉ tốn thêm 1,7%: cái đắt là đóng gói chứ không phải chuyển địa chỉ. Con số tuyệt đối cao bất thường vì đo trong một máy với MTU 65535, nhưng TỈ LỆ giữ nguyên vì nguyên nhân là phí trên mỗi gói, không phải tốc độ dây.
HPA tự tăng giảm số bản theo tải — đo cả hai chiều thì chúng chênh nhau 8,6 lần. Mở rộng 30 giây (HPA tính thẳng số bản cần bằng ceil(bản × CPU/mục tiêu), không nhích từng cái), thu gọn 258 giây vì stabilizationWindow mặc định của scaleDown là 300 giây còn scaleUp là 0. Bất đối xứng này có chủ ý: mở rộng chậm thì người dùng khổ, thu gọn chậm chỉ tốn ít tiền vài phút. Thêm hai cái bẫy: thiếu requests.cpu thì HPA im lặng không bao giờ chạy, và co giãn theo bộ nhớ hiếm khi đúng vì JVM/Go không trả RAM.