CodeBlanks Logo Icon CodeBlanks

Production tuning

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

index.js
// 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

index.js
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

Soru
if (issue === 'memory') return '____';
Cevap
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?

index.js
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

Uzman bölümündeki tüm dersler