Node.js Performans Optimizasyonu İpuçları

Teknoloji 📖 1 dk okuma
#javascript#web#kariyer

Node.js uygulamalarınızın performansını artırmak için uygulayabileceğiniz stratejiler.

1. Async/Await Kullanımı

Callback hell’den kurtulun ve daha okunabilir kod yazın:

// ❌ Kötü
getData(function(err, data) {
  processData(data, function(err, result) {
    saveResult(result, function(err, saved) {
      console.log('Done!');
    });
  });
});

// ✅ İyi
async function handleData() {
  const data = await getData();
  const result = await processData(data);
  await saveResult(result);
  console.log('Done!');
}

2. Caching Stratejileri

Redis ile caching kullanarak database yükünü azaltın:

const redis = require('redis');
const client = redis.createClient();

async function getUser(id) {
  const cached = await client.get(`user:${id}`);
  if (cached) return JSON.parse(cached);
  
  const user = await db.users.findById(id);
  await client.setex(`user:${id}`, 3600, JSON.stringify(user));
  return user;
}

3. Cluster Modülü

CPU çekirdeklerini verimli kullanın:

const cluster = require('cluster');
const numCPUs = require('os').cpus().length;

if (cluster.isMaster) {
  for (let i = 0; i < numCPUs; i++) {
    cluster.fork();
  }
} else {
  require('./app');
}

4. Database Query Optimizasyonu

Index kullanımı ve query optimizasyonu:

// Index oluşturun
db.users.createIndex({ email: 1 });

// Projection kullanın
const users = await db.users.find(
  { active: true },
  { projection: { name: 1, email: 1 } }
);

Bu basit optimizasyonlarla uygulamanızın performansını önemli ölçüde artırabilirsiniz!