CodeBlanks Logo Icon CodeBlanks

Özet - Performans

perf_hooks, memoryUsage ve profiling'i birleştirerek bir benchmark aracı yazarsın.

Özet - Performans

Bu grupta performans araçlarını öğrendin: perf_hooks ile zaman ölçümü, process.memoryUsage() ile bellek izleme, inspector ile CPU profilleme. Event loop latency, tıkanıklığın erken uyarısıdır.

Optimasyon sırası: ölç, darboğazı bul, kaldır, tekrar ölç. CPU işini işçi iş parçacığına taşı, I/O'yu eşzamansız yap, tekrarlanan hesabı önbelleğe al. Erken optimizasyondan kaçın; her zaman veriye dayan.

Performance checklist

Performans kontrol listesi: (1) Event loop latency 10 ms altında olmalı. (2) heapUsed stabil büyümeli, sızıntı olmamalı. (3) CPU profilleri darboğaz fonksiyonu göstermeli. (4) Yanıt süreleri tutarlı olmalı.

Üretimde (production) APM araçları (New Relic, Datadog) bu metrikleri otomatik toplar. Kendi ölçümünü de eklemek iyi bir alışkanlıktır; ama önce mevcut araçları kullan.

Uygulama now metodu fonksiyon mu kontrol et

performance'ı perf_hooks'den içe aktar. typeof performance.now === "function" sonucunu yaz.

Başlangıç kodu

index.js
// modülü içe aktar, zamanlayıcıyı al

// now fonksiyon mu yaz

Örnek çözüm

index.js
const { performance } = require("perf_hooks");
console.log(typeof performance.now === "function");

Beklenen çıktı

true

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Optimasyon öncesi ilk adım nedir?

  • Kodu yeniden yazmak
  • Ölçmek (profil almak) Doğru cevap
  • Yeni modül yüklemek
  • Sunucu değiştirmek

Açıklama: Önce ölç, sonra iyileştir.

2 Parçayı rolüne eşle

Kavram Anlamı
perf_hooks Zaman ölçer
process.memoryUsage() Bellek verir
inspector CPU profiller
event loop latency Gecikme ölçer

İleri seviye bölümündeki tüm dersler