Node.js Performans Optimizasyonu İpuçları
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!