商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > Node.js日志中如何分析API响应时间

Node.js日志中如何分析API响应时间

  发布于2026-06-29 阅读(0)

扫一扫,手机访问

在Node.js开发中,API响应时间往往是衡量服务性能的关键指标。如果能直接在日志里看到每个接口的耗时,排查问题、做性能优化会轻松很多。那具体怎么做呢?其实用Express框架的中间件机制就能很简单地实现。

Node.js日志中如何分析API响应时间

先确保已经安装了Express,如果还没装,老规矩:

npm install express

然后创建一个 app.js 文件,引入Express模块:

const express = require('express');
const app = express();

核心思路是写一个自定义中间件,它在每个请求开始时记录时间戳,等请求完成时再计算耗时。注意,这里要监听响应的 finish 事件,而不是在中间件里直接同步计算——因为后面可能还有其他异步操作(比如数据查询、文件读写)。代码看起来像这样:

app.use((req, res, next) => {
  const start = Date.now();
  res.on('finish', () => {
    const duration = Date.now() - start;
    console.log(`${req.method} ${req.originalUrl} - ${duration}ms`);
  });
  next();
});

有了这个中间件后,随便定义几个API路由来测试效果。比如两个接口,分别模拟耗时1秒和2秒:

app.get('/api/test1', (req, res) => {
  setTimeout(() => {
    res.json({ message: 'Test API 1' });
  }, 1000);
});

app.get('/api/test2', (req, res) => {
  setTimeout(() => {
    res.json({ message: 'Test API 2' });
  }, 2000);
});

最后启动服务,监听端口:

const PORT = process.env.PORT || 3000;
app.listen(PORT, () => {
  console.log(`Server is running on port ${PORT}`);
});

当你访问 /api/test1/api/test2 时,控制台就会输出类似这样的日志:

GET /api/test1 - 1002ms
GET /api/test2 - 2001ms

是不是很简单?当然,这只是最基础的用法。实际项目中,你可能需要把响应时间记录到日志文件、数据库,或者接入监控系统做进一步分析。比如用 fs 模块写入文件,或者配合 winston 之类的日志库做更细粒度的管理——这些都留给各位按需扩展了。

本文转载于:https://www.yisu.com/ask/1814505.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注