L = λ × W: Một Hình chữ nhật
Định luật Little: Phương trình Hữu dụng nhất trong Quy hoạch Dung lượng
John Little chứng minh năm 1961 rằng đối với bất kỳ hàng đợi ổn định nào, bất kể cấu trúc bên trong: L = λ × W, trong đó:
- L = số lượng mục trung bình trong hệ thống (hàng đợi + đang phục vụ)
- λ (lambda) = tốc độ đến bình quân của các mục trên một đơn vị thời gian
- W = thời gian trung bình mỗi mục dành trong hệ thống
Cách đọc hình học: vẽ tốc độ đến λ trên một trục & thời gian lưu lại W trên trục khác. Tích số L là diện tích của hình chữ nhật họ tạo thành. Quy hoạch dung lượng tồn tại bên trong hình chữ nhật này.
Tại sao nó quan trọng: bất kỳ hai trong ba đại lượng nào cũng xác định đại lượng thứ ba. Nếu bạn đo thông lượng & độ trễ, bạn biết mức chiếm dụng. Nếu bạn đo mức chiếm dụng & thông lượng, bạn biết độ trễ. Định luật này mạnh mẽ: nó áp dụng cho các yêu cầu web, bàn nhà hàng, hàng đợi siêu thị, & đường ống CPU mà không cần sửa đổi.
Ba ví dụ cụ thể:
- Một dịch vụ web xử lý 200 yêu cầu/giây với độ trễ trung bình 50 ms (0.05 s). L = 200 × 0.05 = 10 yêu cầu đang bay bất cứ lúc nào.
- Một quán cà phê phục vụ 60 khách hàng/giờ với thời gian lưu trung bình 15 phút (0.25 giờ). L = 60 × 0.25 = 15 khách hàng bên trong trung bình.
- Một dây chuyền sản xuất tạo ra 100 widget/giờ với mỗi widget mất 2 giờ từ đầu đến cuối. L = 100 × 2 = 200 widget đang xử lý.
Hàm ý cấp phát: nếu bạn có thể định kích thước cho L (các mục đang bay đồng thời), bạn đã định kích thước cho hệ thống. Số lượng luồng công nhân, kết nối cơ sở dữ liệu, hoặc vị trí hàng đợi đều bắt nguồn từ L.
Định kích thước Nhóm công nhân
Dịch vụ chuyển mã hóa video của bạn được định kích thước cho tốc độ đến bình quân 30 công việc chuyển mã hóa mỗi phút, mỗi công việc mất 90 giây từ đầu đến cuối. Nhóm công nhân hiện tại có 30 công nhân.
Tại sao Độ trễ Phát nổ Quá 80% Sử dụng
Đường cong Quan trọng nhất trong Quy hoạch Dung lượng
Vẽ mức sử dụng trên trục x (0% đến 100%) & độ trễ trung bình trên trục y. Hình dạng xuất hiện là một trong những đường cong hậu quả nhất trong hoạt động: nó giải thích lý do tại sao các nhóm nhắm mục tiêu sử dụng tốt dưới 100%, tại sao headroom dành riêng không phải là lãng phí, & tại sao các hệ thống chạy 'hiệu quả' ở mức sử dụng cao lại sụp đổ mà không cảnh báo.
Đường cong xếp hàng M/M/1: đối với một hệ thống có đến Poisson (ngẫu nhiên) & thời gian phục vụ theo cấp số nhân (ngẫu nhiên), thời gian chờ đợi trung bình tuân theo:
W_q = ρ / (μ(1-ρ))
trong đó ρ (rho) là mức sử dụng (0 đến 1) & μ là tốc độ phục vụ. Mẫu số (1-ρ) là dòng chính: khi ρ tiến gần 1, mẫu số tiến gần 0, & thời gian chờ đợi tiến gần vô cùng.
Ví dụ số (tỷ lệ độ trễ so với ρ cho M/M/1):
- ρ = 0.5: tỷ lệ độ trễ 1.0 (đường cơ sở)
- ρ = 0.7: tỷ lệ độ trễ ~2.3
- ρ = 0.8: tỷ lệ độ trễ ~4.0
- ρ = 0.9: tỷ lệ độ trễ ~9.0
- ρ = 0.95: tỷ lệ độ trễ ~19.0
- ρ = 0.99: tỷ lệ độ trễ ~99.0
Điểm uốn nằm xung quanh 70-80% sử dụng. Dưới điểm uốn, việc thêm tải làm tăng độ trễ chậm. Phía trên điểm uốn, độ trễ phát nổ phi tuyến tính. Đây là lý do tại sao quy tắc SRE kinh điển là: nhắm mục tiêu sử dụng ổn định dưới 80%, không bao giờ chạy liên tục trên 90%.
Tại sao các nhóm ops truyền thống đánh giá thấp điều này: một máy chủ ở 60% CPU 'trông bận rộn' nhưng có headroom độ trễ thoải mái. Một máy chủ ở 90% CPU 'trông hiệu quả' nhưng cách một bước lên tải lại từ thảm họa độ trễ. Sự thật hình học: độ dốc của đường cong là mối đe dọa thực tế, không phải giá trị y hiện tại.
Đọc Đường cong
Một nhóm chạy một dịch vụ ở 85% sử dụng CPU ổn định. Độ trễ p99 hiện tại là 200 ms. Họ đang xem xét thêm 30% lưu lượng để hợp nhất khối lượng công việc từ một dịch vụ khác đang bị loại bỏ.
Độ dốc, Giao điểm, & Nón Dự báo
Đọc Sự phát triển Từ một Độ dốc
Dự báo nhu cầu giảm (trong nhiều trường hợp) để vẽ đường thẳng chính xác qua dữ liệu lịch sử. Các tính chất hình học của đường đó: độ dốc, giao điểm, & nón không chắc chắn, mã hóa toàn bộ dự báo.
Xu hướng tuyến tính (y = mx + b): thích hợp cho các cửa sổ ngắn hoặc các quá trình thực sự tuyến tính. Độ dốc m là tốc độ tăng trưởng trên mỗi đơn vị thời gian. Giao điểm b là giá trị bắt đầu. Hữu ích khi tăng trưởng ổn định. Có xu hướng đánh giá thấp khi quá trình thực sự tăng trưởng liên tục.
Xu hướng theo cấp số nhân (y = b × e^(mx)): thích hợp cho sự phát triển hợp chất: chấp nhận lan truyền, hiệu ứng mạng người dùng, tính ổn định theo mùa vụ nhân lên. Trên trục y thang logarit, sự phát triển theo cấp số nhân trở thành tuyến tính, điều này làm cho ước tính độ dốc dễ dàng hơn. Độ dốc m trên thang log là tốc độ tăng trưởng trên mỗi đơn vị thời gian.
Piecewise tuyến tính: thích hợp khi tăng trưởng có các chế độ riêng biệt. Một công ty khởi nghiệp có thể phát triển chậm trong 18 tháng, sau đó có một điểm uốn lan truyền tạo ra 6 tháng tăng trưởng nổ tung, sau đó đạt bình nguyên. Ba đoạn tuyến tính phù hợp với điều này tốt hơn bất kỳ đường cong nào.
Nón dự báo: ước tính trung tâm cộng với giới hạn trên & dưới, được vẽ dưới dạng nón mở rộng vào tương lai. Độ rộng của nón phát triển theo thời gian vì không chắc chắn tăng. Dự báo 4 tuần có thể có ±10% giới hạn; dự báo 12 tháng thường có ±50% hoặc hơn.
Phân rã tính ổn định: nhu cầu thực tế kết hợp xu hướng + chu kỳ ổn định + tiếng ồn. Các thư viện thống kê (statsmodels, Prophet) phân rã một chuỗi thành ba thành phần này, cho phép xu hướng được dự báo riêng biệt từ mô hình ổn định. Hình học, xu hướng là sự trôi dạt cơ bản, tính ổn định là gợn sóng tuần hoàn trên đó, & tiếng ồn là jitter dư thừa.
Chọn một Mô hình Xu hướng
Bạn có 24 tháng khối lượng yêu cầu hàng tháng. Tháng 1-12 tăng từ 1M đến 2M (trông tuyến tính, +83K/tháng). Tháng 13-18 tăng từ 2M đến 4M (dốc hơn, +330K/tháng). Tháng 19-24 tăng từ 4M đến 12M (dốc hơn nhiều). Marketing xác nhận tính năng sản phẩm lan truyền được phát hành vào tháng 13 thúc đẩy điểm uốn.
Dung lượng vs Nhu cầu dưới dạng Hình học 2D
Biểu đồ Mà Mỗi Nhóm Quy hoạch Dung lượng Sống Bên trong
Vẽ thời gian trên trục x. Vẽ nhu cầu & dung lượng trên trục y dưới dạng hai dòng riêng biệt. Khoảng cách dọc giữa chúng tại bất kỳ điểm nào trong thời gian là dung lượng dự phòng. Vùng 2D giữa các đường cong là bao thân dung lượng dự phòng.
Ba hình dạng tham chiếu:
- Bao thân lành mạnh: dòng dung lượng ở phía trên thoải mái so với dòng nhu cầu. Khoảng cách có thể hẹp lại trong các đỉnh nhưng không bao giờ biến mất. Bao thân là một dải an toàn.
- Bao thân đóng lại: dung lượng tăng chậm hơn nhu cầu. Khoảng cách hẹp lại theo thời gian. Điểm giao nhau trong tương lai là khi hệ thống hết headroom: ngày mà nhóm phải thêm dung lượng.
- Bao thân đảo ngược: nhu cầu vượt dung lượng. Hệ thống ở trong lãnh địa sự cố. Độ lớn dọc của sự đảo ngược là thâm hụt phải được phục vụ bằng cách nào đó (tràn hàng đợi, tỷ lệ lỗi, tác động khách hàng).
Biểu đồ quy hoạch dung lượng tiêu chuẩn vẽ:
- Lịch sử nhu cầu gần đây (dòng xanh lam rắn)
- Dự báo nhu cầu với giới hạn (dòng gạch + nón bóng)
- Dung lượng hiện tại (dòng xanh lá cây rắn)
- Bổ sung dung lượng dự kiến với ngày giao hàng (chức năng bước)
- Ngày giao nhau nơi nhu cầu dự báo vượt dung lượng hiện tại: đây là thời hạn cho việc cấp phát tiếp theo
Quy tắc quyết định trực quan: giữ hàm bước dung lượng phía trên giới hạn trên của nón dự báo mọi lúc. Không cấp phát cho ước tính trung tâm; cấp phát cho giới hạn trên. Chi phí của cấp phát quá mức là hữu hạn (một số dung lượng nhàn rỗi); chi phí của cấp phát thiếu là không giới hạn (mất người dùng, sự cố xếp tầng, sát hại danh tiếng).
Đọc Bao thân
Biểu đồ dung lượng của bạn cho thấy: nhu cầu hiện tại là 1.500 RPS tăng 20% mỗi tháng. Dung lượng hiện tại là 2.500 RPS. Một lô máy chủ mới (+1.500 RPS dung lượng) tới trong 8 tuần. Nón dự báo có ±15% giới hạn ở chân trời 8 tuần.
Hình học của Dung lượng: Kết thúc
Hình dạng Dự đoán Tương lai
Bạn đã thực hiện bốn cấu trúc hình học chạy dưới quy hoạch dung lượng:
- Định luật Little (L = λ × W) dưới dạng diện tích của hình chữ nhật xác định mức chiếm dụng ổn định
- Đường cong xếp hàng với điểm uốn của nó ở 80% sử dụng, mã hóa chi phí phi tuyến tính của việc chạy nóng
- Độ dốc xu hướng & nón dự báo biến dữ liệu lịch sử thành dự báo hành động
- Bao thân dung lượng dự phòng dưới dạng biểu đồ 2D của dung lượng so với nhu cầu, với ngày giao nhau đánh dấu thời hạn cấp phát
Quy hoạch dung lượng, về cốt lõi trực quan, là kỷ luật giữ một đường cong an toàn phía trên đường cong khác theo thời gian. Các con số là trang phục; hình dạng mang lại sự thật. Một kỹ sư dung lượng đọc đúng đường cong xếp hàng sẽ bắt được những vấn đề mà bảng điều khiển CPU ẩn cho đến khi hệ thống đã bắt đầu cháy.
Bài học kèm theo về quy hoạch dung lượng bao gồm các thực hành: đo lường, dự báo, kiểm tra trần, dung lượng dự phòng, & mở rộng. Bài học này bao gồm hình học bên dưới chúng. Với nhau, họ hình thành các giàn đỡ trực quan & phân tích của các dịch vụ chạy được mở rộng mà không có bất ngờ.