Network faults in practice
Lỗi mạng trong thực tế — có đo đượcNetwork faults in practice — measured
Không phải chuyện lý thuyết. Bailis và Kingsbury tập hợp các khảo sát công khai về lỗi mạng4. Một nghiên cứu trên vài trung tâm dữ liệu của Microsoft (Gill, Jain, Nagappan, SIGCOMM 2011) ghi nhận tỉ lệ hỏng trung bình 5,2 thiết bị mỗi ngày và 40,8 liên kết mỗi ngày, thời gian sửa trung vị khoảng 5 phút (có ca kéo dài tới một tuần), ước tính trung vị 59.000 gói tin mất mỗi lần hỏng, và — đáng lo nhất — dư thừa mạng chỉ cải thiện lưu lượng trung vị thêm 43%5. Một khảo sát khác trên mạng diện rộng CENIC (hơn hai trăm router khắp California, năm năm vận hành) tìm ra hơn 508 "phân vùng cô lập", thời lượng trung vị 2,7 phút với lỗi phần mềm và 32 phút với lỗi phần cứng4.
Đây không phải chuyện tưởng tượng. Người ta đã đi đếm thật: trong các trung tâm máy chủ lớn, mỗi ngày vẫn có vài thiết bị và vài chục đường dây hỏng. Và điều bất ngờ: lắp thêm đường dây dự phòng không cứu được nhiều như ta tưởng. Nhớ nhé: đường truyền hỏng là chuyện hằng ngày, không phải chuyện hiếm.
This is not theory. Bailis and Kingsbury collected the public surveys of network failure4. A study of several Microsoft datacenters (Gill, Jain, Nagappan, SIGCOMM 2011) reported an average failure rate of 5.2 devices and 40.8 links per day, a median time to repair of about five minutes (some up to a week), an estimated median of 59,000 packets lost per failure, and — most worryingly — that network redundancy improves median traffic by only 43%5. Another study of the CENIC wide-area network (over two hundred routers across California, five years of operation) found over 508 "isolating network partitions", with median durations of 2.7 minutes for software faults and 32 minutes for hardware faults4.
Đọc con số cho đúngĐây là số đo của những môi trường cụ thể trong những cửa sổ thời gian cụ thể, không phải hằng số của mọi mạng. Điều rút ra không phải "mạng của bạn hỏng 5,2 lần một ngày", mà là "lỗi mạng đủ thường xuyên để phần mềm phải xử lý nó".
Lưu ýMấy con số này là của một vài nơi cụ thể, không phải của mọi nơi. Ý chính là: hỏng đủ thường để phải chuẩn bị.
Read the numbers correctlyThese are measurements of specific environments over specific windows, not constants of every network. The takeaway is not "your network fails 5.2 times a day" but "network faults are frequent enough that software must handle them".
Vì sao dư thừa không cứu được
Con số 43% nói lên một điều khó chịu: nhiều nguyên nhân gây lỗi mạng có tính tương quan — cấu hình sai, bản firmware lỗi, một sự kiện bảo trì — nên hai đường dây dự phòng cùng chết vì cùng một lý do. Dư thừa chỉ chống được lỗi độc lập; nó không chống được lỗi hệ thống, đúng như phân biệt "lỗi phần cứng ngẫu nhiên / lỗi phần mềm hệ thống" ở Chương 1.
Cả những nguyên nhân buồn cười
Danh mục tham chiếu của chính Chương 8 liệt kê đủ loại nguyên nhân thật: cá mập cắn cáp quang biển, driver card mạng bnx2 thỉnh thoảng rơi khỏi mạng, cho tới "gói tin độc" làm ZooKeeper nghẹt3. Kleppmann dùng chúng không phải để gây cười mà để phá vỡ giả định ngầm rằng lỗi mạng là chuyện hiếm và kỳ dị.