Tingkatkan Pemantauan Node.js Anda dengan Metrik Penting Ini

WBOY
Lepaskan: 2024-08-09 07:15:42
asal
552 orang telah melayarinya

Level Up Your Node.js Monitoring with These Essential Metrics

Sebagai pembangun Node.js, memastikan aplikasi anda berjalan lancar adalah penting. Tetapi bagaimana anda tahu apa yang berlaku di bawah tudung? Di situlah metrik masuk. Dalam artikel ini, kami akan meneroka beberapa metrik utama yang akan membantu anda memantau dan mengoptimumkan aplikasi Node.js anda seperti seorang profesional.

Untuk mengetahui lebih lanjut, anda boleh menyemak catatan blog penuh.

1. Penggunaan CPU

? Pastikan otak apl anda sihat.

Pantau penggunaan CPU untuk memastikan aplikasi anda tidak terlalu bekerja sendiri.

const os = require('os');

function getCPUUsage() {
  const cpus = os.cpus();
  const totalUsage = cpus.reduce((acc, cpu) => acc + cpu.times.user + cpu.times.system, 0);
  const totalIdle = cpus.reduce((acc, cpu) => acc + cpu.times.idle, 0);
  return totalUsage / (totalUsage + totalIdle) * 100;
}
Salin selepas log masuk

2. Penggunaan Memori

? Jangan biarkan apl anda menjadi kenangan.

Jejaki penggunaan memori untuk mengelakkan kebocoran dan mengoptimumkan prestasi.

const v8 = require('v8');

function getMemoryUsage() {
  const memoryUsage = process.memoryUsage();
  const heapStats = v8.getHeapStatistics();
  return {
    rss: memoryUsage.rss,
    heapTotal: memoryUsage.heapTotal,
    heapUsed: memoryUsage.heapUsed,
    external: memoryUsage.external,
    heapSizeLimit: heapStats.heap_size_limit
  };
}
Salin selepas log masuk

3. Lag Gelung Acara

⏱️ Pastikan apl anda responsif.

Pantau kelewatan gelung acara untuk memastikan pelaksanaan operasi tak segerak berjalan lancar.

const lag = require('event-loop-lag');

const lagMonitor = lag(1000);

function getEventLoopLag() {
  return lagMonitor();
}
Salin selepas log masuk

4. Kadar Permintaan HTTP

? Jejaki populariti apl anda.

Pantau kadar permintaan HTTP masuk untuk mengukur trafik dan merancang untuk penskalaan.

const http = require('http');

let requestCount = 0;

http.createServer((req, res) => {
  requestCount++;
  // Your server logic here
}).listen(3000);

function getRequestRate() {
  const rate = requestCount;
  requestCount = 0;
  return rate;
}

setInterval(() => {
  console.log(`Request rate: ${getRequestRate()} requests/second`);
}, 1000);
Salin selepas log masuk

5. Kolam Sambungan Pangkalan Data

?‍♂️ Pastikan sambungan pangkalan data anda terkawal.

Pantau kumpulan sambungan anda untuk memastikan penggunaan sumber yang cekap.

const mysql = require('mysql');

const pool = mysql.createPool({
  connectionLimit: 10,
  host: 'localhost',
  user: 'your_username',
  password: 'your_password',
  database: 'your_database'
});

function getConnectionPoolStats() {
  return {
    total: pool._allConnections.length,
    free: pool._freeConnections.length,
    queued: pool._connectionQueue.length
  };
}
Salin selepas log masuk

6. Metrik Kutipan Sampah

?️ Pastikan ingatan apl anda bersih.

Pantau kutipan sampah untuk mengoptimumkan pengurusan memori.

javascriptCopyconst v8 = require('v8');

const gcStats = v8.getHeapStatistics();

function getGCMetrics() {
  return {
    totalHeapSize: gcStats.total_heap_size,
    usedHeapSize: gcStats.used_heap_size,
    heapSizeLimit: gcStats.heap_size_limit
  };
}
Salin selepas log masuk

7. Pengendalian dan Permintaan Aktif

? Jejaki operasi yang sedang berjalan.

Pantau pengendalian dan permintaan aktif untuk memastikan pengurusan sumber yang betul.

javascriptCopyfunction getActiveHandlesAndRequests() {
  return {
    activeHandles: process._getActiveHandles().length,
    activeRequests: process._getActiveRequests().length
  };
}
Salin selepas log masuk

8. Kadar Ralat

❌ Ikuti perkembangan isu.

Pantau kadar ralat aplikasi anda untuk mengenal pasti dan menyelesaikan masalah dengan cepat.

javascriptCopylet errorCount = 0;

process.on('uncaughtException', (error) => {
  errorCount++;
  // Log or handle the error
});

function getErrorRate() {
  const rate = errorCount;
  errorCount = 0;
  return rate;
}

setInterval(() => {
  console.log(`Error rate: ${getErrorRate()} errors/minute`);
}, 60000);
Salin selepas log masuk

9. Masa Tindak Balas

⏱️ Pastikan pengguna anda gembira.

Pantau masa tindak balas untuk memastikan pengalaman pengguna yang pantas.

javascriptCopyconst responseTime = require('response-time');
const express = require('express');

const app = express();

app.use(responseTime((req, res, time) => {
  console.log(`${req.method} ${req.url} - Response time: ${time}ms`);
}));

// Your routes here
Salin selepas log masuk

10. Ketergantungan Perkhidmatan Pihak Ketiga

? Jangan biarkan perkhidmatan luar melambatkan anda.

Pantau prestasi perkhidmatan pihak ketiga yang bergantung pada apl anda.

javascriptCopyconst axios = require('axios');

async function checkExternalService(url) {
  const start = Date.now();
  try {
    await axios.get(url);
    const duration = Date.now() - start;
    console.log(`External service ${url} response time: ${duration}ms`);
  } catch (error) {
    console.error(`Error checking external service ${url}: ${error.message}`);
  }
}

// Check external services periodically
setInterval(() => {
  checkExternalService('https://api.example.com');
}, 60000);
Salin selepas log masuk

Petua Bonus: Gunakan Alat Pemantauan

?️ Tajamkan pemantauan anda! Pertimbangkan untuk menggunakan alat pemantauan khusus untuk mengautomasikan pengumpulan metrik dan mendapatkan cerapan yang lebih mendalam.
Pilihan popular termasuk:

  • Prometheus dengan Grafana
  • Relik Baharu
  • Datadog
  • AppDynamics

Alat ini boleh menyediakan penyelesaian pemantauan di luar kotak dan papan pemuka yang cantik untuk menggambarkan prestasi aplikasi Node.js anda.
Dengan menggabungkan metrik dan petua tambahan ini, anda akan mendapat pandangan yang lebih komprehensif tentang kesihatan dan prestasi aplikasi Node.js anda. Ingat, kunci kepada pemantauan yang berkesan bukan hanya mengumpul data, tetapi juga memahami dan bertindak berdasarkan cerapan yang diberikannya. Selamat memantau!

Kesimpulan

Dengan memantau metrik penting ini, anda akan memperoleh cerapan berharga tentang prestasi dan kesihatan aplikasi Node.js anda. Ingat, pengetahuan adalah kuasa dan dengan metrik ini di hujung jari anda, anda akan dilengkapi dengan baik untuk mengoptimumkan apl anda dan memastikan apl itu berjalan lancar.

Jika anda memerlukan bantuan memantau apl anda, lihat https://alerty.ai untuk mengetahui lebih lanjut tentang pemantauan bahagian hadapan yang mudah.

Selamat memantau, dan semoga apl Node.js anda sentiasa menunjukkan prestasi terbaiknya! ?

Atas ialah kandungan terperinci Tingkatkan Pemantauan Node.js Anda dengan Metrik Penting Ini. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!