Production tuning
- Node.js kursu
- Uzman
- Ders 41/47
- 5 dk
Production tuning ve Node.js flags öğrenirsin.
Production tuning
Production tuning, Node.js uygulamasını üretimde en iyi performansla çalıştırmak için yapılan ayarlar bütünüdür. Bellek için --max-old-space-size, CPU için flame graph, GC için --expose-gc ve kütüphane seçimi buraya girer.
Bir tuningAdvice(issue) fonksiyonu bu kararları modeller: 'memory' için 'limit heap', 'cpu' için 'profile flame', diğerleri için 'check flags' döndürür. Üretimde her ayarın maliyeti vardır; yanlış bayrak beklenmedik çökmelere yol açabilir. Bu yüzden ayarlar aşamalı uygulanır ve her değişiklikten sonra ölçüm yapılır. Bu basit model, sorunu bir kategoriye indirgeyip uygun ayarı işaret eder; gerçek ortamda her ayar ayrı bir deney gerektirir.
Bayrak ve ölçüm
Üretimde bir bayrağı değiştirmeden önce ölçüm şarttır. --max-old-space-size yığın üst sınırını yükseltir ama bellek sızıntısını gizleyebilir. --expose-gc manuel çöp toplama çağrısına izin verir ama yanlış kullanım gecikmelere yol açar.
Örnek: tuningAdvice('memory') 'limit heap' döner; bu, öncelikle yığını sınırlamayı işaret eder. tuningAdvice('cpu') 'profile flame' döner; bu, alev grafiğiyle darboğazı bulmayı söyler. Her ayar tek başına anlamlı değildir; uygulamayı çalıştıran gerçek yük altında test edilmelidir. Bu yüzden iyi bir takım ayarları 'deney - ölç - karşılaştır' döngüsüyle uygular. Yanlış ayar, doğru amaç için bile sorun yaratabilir.
Uygulama Tuning advice fonksiyonu yaz
function tuningAdvice(issue) yaz. if (issue === 'memory') return 'limit heap';, if (issue === 'cpu') return 'profile flame'; ve return 'check flags'; ekle. console.log(tuningAdvice('memory')) ve console.log(tuningAdvice('cpu')) yazdır.
Başlangıç kodu
// tuningAdvice fonksiyonu yaz
// 'memory' için 'limit heap', 'cpu' için 'profile flame', diğerleri için 'check flags' döndürsün
// 'memory' ve 'cpu' çağrılarını yazdır
// buraya yazÖrnek çözüm
function tuningAdvice(issue) {
if (issue === 'memory') return 'limit heap';
if (issue === 'cpu') return 'profile flame';
return 'check flags';
}
console.log(tuningAdvice('memory'));
console.log(tuningAdvice('cpu'));Beklenen çıktı
limit heap profile flame
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Memory dalını tamamla
if (issue === 'memory') return '____';
if (issue === 'memory') return 'limit heap';
Açıklama: memory için 'limit heap' döner.
2 CPU darboğazı için tuningAdvice ne döndürür?
tuningAdvice('cpu')- limit heap
- check flags
- profile flame Doğru cevap
- more memory
Açıklama: cpu için 'profile flame' döner; alev grafiği darboğazı gösterir.
3 Parçayı rolüne eşle
| Kavram | Anlamı |
|---|---|
memory |
limit heap |
cpu |
profile flame |
--max-old-space-size |
Yığın üst sınırı |
--expose-gc |
Manuel GC |