Eliminating toil with fully automated load testing
Bài tóm tắt LinkedIn 2019 3. Quy mô lớn Độ khó: Trung bình
LinkedIn · 2019 · 3. Quy mô lớn · Độ khó: Trung bình — bài gốc
Bối cảnh
- Năm 2013 LinkedIn chạy nhiều data center và dựng TrafficShift để chuyển traffic thật giữa các DC khi có sự cố.
- Định tuyến: member vào PoP qua GeoDNS (PoP là IPVS + Apache Traffic Server). Stickyrouting gán mỗi member một DC chính và một DC phụ bằng job Hadoop định kỳ (theo khoảng cách và capacity từng DC); cookie do ATS đặt chỉ ra bucket trong DC.
- Load test hằng ngày bằng traffic thật: đánh dấu bucket ở các DC khác là offline để dồn traffic vào DC cần test, tìm QPS tối đa DC đó chịu được. Làm tay: kỹ sư chọn số bucket mỗi bước, khoảng chờ, thời lượng, vừa xem dashboard vừa canh kênh chat, mất 2–3 giờ mỗi ngày và căng thẳng.
Thay đổi chính
- Ba giai đoạn tự động: ramp nhanh tới 75% QPS mục tiêu, rồi 90% (có nghỉ để monitoring kịp báo), sau đó tiến từ từ trong cửa sổ giữa low watermark và high watermark quanh mục tiêu bằng hai hàm bước tăng/giảm số bucket.
- Trễ của pipeline metric làm quyết định dựa trên số cũ; không sửa được ở nguồn nên họ query pipeline dày hơn để có số sát nhất.
- Nút pause (để xem một alert hay lời phàn nàn của chủ service) và terminate bất cứ lúc nào.
Vì sao
- Load test hằng ngày là cách biết DC có chịu được nếu phải gánh traffic của DC khác; làm tay tốn công và dễ sai trên traffic thật.
Bài học cho SWE
- Cơ chế failover giữa DC cũng là công cụ load test: dồn traffic thật vào một DC để đo trần.
- Tự động hoá việc điều khiển theo metric phải tính cả độ trễ của chính metric.
- Luôn có nút dừng tay trong quy trình tự động chạy trên production.
Liên quan
- LinkedIn 2021 (khi load test bắt đầu trượt) · LinkedIn 2015 (multi-DC, ghim member vào DC)
- Load test và kiểm chứng capacity · Độ tin cậy và multi-region · Tự động hoá vận hành và auto-remediation
#Load test in production#TrafficShift#Stickyrouting#PoP#GeoDNS#ATS#bucket offline#target QPS#high/low watermark#staged ramp#metric delay#pause/terminate#toil
Được nhắc tới trong
Chủ đề (3)
Công ty (1)
Bài tóm tắt (3)