L = λ × W
Kapasite Planlamasında En Faydalı Denklem
Her stabil kuyruk için, bağımsız olarak iç yapısından: L = λ × W, where:
- L = ortalamadaki öğelerin sayısı (içinde veya beklemede)
- λ (lambda) = ortalama giriş hızı (öğe başına zaman birimi)
- W = her öğenin ortalamadaki sistemi içinde geçirdiği süre
Düşlemsel Okuma: λ'yi bir eksen ve W'yi diğer eksen üzerinde çiziniz. L'nin alanı oluşturan dikdörtgenlerdir. Kapasite planlaması bu dikdörtgen içinde gerçekleşir.
Neden önemli: üç miktarı belirten iki miktar belirler. Giriş ve gecikme süresini ölçerseniz, yoğunluğu biliyorsunuz. Giriş ve yoğunluğu ölçerseniz, gecikme süresini biliyorsunuz. Yasal düzenleme dayanıklıdır: web isteklerini, restoran masalarını, supermarket kuyruklarını ve CPU.pipeline'lerini değiştirmeden uygulanır.
Üç somut örnek:
- Bir web hizmeti 200 req/s ile ortalama gecikme süresi 50 ms (0.05 s). L = 200 × 0.05 = 10 uçta.
- Bir kahve dükkanı saatlik 60 müşteri ile ortalama kalma süresi 15 dakika (0.25 saat). L = 60 × 0.25 = 15 müşteri içinde.
- Bir arka uç havuzu 1500 req/s ile ortalama gecikme süresi 200 ms (0.2 s). L = 1500 × 0.2 = 300 uçta.
Eşya boyutu implication: bir katmanın çalışan sayısını / thread sayısını / bağlantı sayısını L'yi yakalamak için en azından ayarlamak gerekir. Daha az şey demek kuyruk büyümesi demektir.
Neden Gecikme %80 Kullanım Aşağında Patlar
Operasyonlarda En Önemli Eğri
Grafik kullanım oranını ekseninde (0% ila 100%) ve ortalama bekleyiş süresini ekseninde (0 ila 1000). Şekil, kapasite planlamasında en önemli eğrilerden biridir.
M/M/1 kuyruklama modeli: Poisson girişleri (rasgele) ve eksponansiyel hizmet süreleri (rasgele) olan bir sisteme ait ortalama bekleyiş süresi:
W_q = ρ / (μ × (1 - ρ))
nereye ρ kullanım oranı (0 ila 1) ve μ hizmet hızıdır.
Eğrinin şekli:
- ρ = 0.5 (50% kullanım) olduğunda, bekleyiş süresi küçük (1 hizmet süresi).
- ρ = 0.7 (70% kullanım) olduğunda, bekleyiş süresi ~2.3 hizmet süresidir.
- ρ = 0.8 (80% kullanım) olduğunda, bekleyiş süresi ~4 hizmet süresidir.
- ρ = 0.9 (90% kullanım) olduğunda, bekleyiş süresi ~9 hizmet süresidir.
- ρ = 0.95 (95% kullanım) olduğunda, bekleyiş süresi ~19 hizmet süresidir.
- ρ = 1.0 (100% kullanım) olduğunda, bekleyiş süresi sonsuzdur.
Genç: yaklaşık %80 kullanım oranı civarında, eğri keskin bir şekilde döner. Gençin altında, kapasite rahat; üstünde, kullanım hızı daha hızlıdır.
Uygulamalı okuma: %70 kullanım oranı hedeflenmelidir. Gerçek SLO ihlali için beklemeyiniz. 30'lık 'koltuk' boş zaman değil; sınırlı bekleyişin bedelidir.
Knee Across Sizing
İki senaryo:
Senaryo A: 10 kopya 60% CPU kullanıyor. Latency p99 = 100 ms.
Senaryo B: aynı donanım kümesinde 90% CPU kullanarak trafiğin artması nedeniyle. p99 = 600 ms.
Fleet aynı, aynı kod, sadece kullanım değişti.
Birlikte Boyutlandırma ve Tetikleme
Sendrom
Şimdi Little's Yasasını dikdörtgen olarak uygulayabilirsiniz, kuyruklama eğrisini ve dizginin yerini okuyarak ve her ikisini de kapasite kararlarıyla bağlayarak.
Her ikisini de uygula.
Arka uç katmanı, her kopyanın 80 req/s kapasitesi ve 70'lik % CPU ile 2.000 req/s ile 50 ms ortalama gecikme süresi ile işler. 2x patlama faktörü; 3 tane aynı anda kopya başarısızlığıyle hayatta kalmak istiyorsunuz.
Kompanyon Notlar
Kompanyon Notlar
Bu geometri-öğretisi, Etkilsiz Yatay Kaldırma ana öğretiyi niceliksel geometriye dönüştürür.
Sonraki kompanyon, geometry_of_ingress_egress_separation, ağı sınırını bir bireyli grafik olarak yeniden şekillendirir ve bu sınırın kaldırılmasını sağlayan bir kesik düğüm olan iki parçalı bir grafik olarak.
Yapılan iş iyi.