Özet - Performans
- Node.js kursu
- İleri seviye
- Ders 18/83
- 5 dk
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
// modülü içe aktar, zamanlayıcıyı al
// now fonksiyon mu yazÖrnek çözüm
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 |