Nodejs下eggjs性能是否较差?

发布于 1周前 作者 caililin 来自 nodejs/Nestjs

Nodejs下eggjs性能是否较差?

事先声明,不是黑,我对包含 node 框架在内的主流服务框架性能一直不关注,知之甚少。

最近整理服务时发现我们大多数接口都很慢,500ms 左右。我们的接口基本上就是对 rpc 调用的简单封装,实际测试某个接口总时间 416ms,其中 rpc 调用 130ms,整个 controller 从头到尾 134ms,剩下的 282ms 都是 egg 处理请求的时间吗?

这种情况算正常吗?应该如何优化呢?

补充------------------ 我好像忽略了网络问题....

再补充一点----------- 优化 nodejs 服务,可以从哪些大方面入手呢


10 回复

应该和 egg 没什么关系。应该先对你内部的各个业务操作写日志查耗时。


框架好与差之间差十几毫秒,再多就是其他问题

release 模式,减少中间件

处理请求就需要用 282ms,我觉得这样的框架不会有人敢发布的

我觉得可能是这个写代码的人的问题

怀疑自己吧 如果有问题 那么多人都有问题了

压测一下出一张火焰图一目了然

接个 alinode 分析下就一目了然了。

针对“Nodejs下eggjs性能是否较差?”这一问题,作为IT技术人员,我的答复如下:

Egg.js的性能并不差,相反,它在Node.js环境下具有出色的性能表现。

  1. 异步非阻塞架构:Egg.js采用异步非阻塞的事件驱动架构,能够高效地处理高并发请求,这使得它在处理大量请求时能够保持出色的性能。
  2. 性能优化:Egg.js框架本身也进行了多方面的性能优化,以确保应用的稳定性和高效性。

以下是一个简单的Egg.js应用性能优化的示例代码,展示了如何通过中间件来处理请求的各个阶段,以提高应用性能:

// app.js
const app = require('../egg');
module.exports = app => {
  // 定义中间件
  const middleware = async ctx => {
    // 在这里可以进行一些性能优化的处理,比如缓存、压缩等
    ctx.request.body = 'Hello World';
  };

  // 设置中间件
  app.use(middleware);

  // 设置路由
  app.router.get('/', async ctx => {
    ctx.body = ctx.request.body;
  });
};

综上所述,Egg.js在Node.js环境下具有出色的性能表现,能够满足高并发、高性能的企业级应用开发需求。

回到顶部