【问题标题】:Result perf node using mongo nestJs or fastify结果性能节点使用 mongo nestJs 或 fastify
【发布时间】:2019-08-23 00:41:39
【问题描述】:

我做了两个项目,一个使用nestJS/mongoDB,另一个使用Fastify/MongoDB,以比较两个框架的性能。我做了一个简单的获取资源 API 来查询大约 400Kb 的 mongo 文档。两个项目路由都以超过 300 毫秒的时间响应 JSON 文档。有人可以向我解释额外的 280 毫秒是从哪里来的,因为 mongo 的响应时间不超过 20 毫秒。

这与它们同时响应的框架无关。是不是API做的压缩,是不是节点服务器耗时

当我分析代码时,mongo 响应不超过 20 毫秒,在这两种情况下,获取处理程序立即返回的文档。没有样板代码或额外的日志记录,只有普通的 HttpServer。

在 Fastify 中我就是这样做的

{
method: 'GET',
url: '/api/trees/:id',
handler: async (req, reply) => {
  try {
    const id = req.params.id
    const tree = await TaxonomiesTrees.findById(id)
    return tree.data
  } catch (err) {
    throw boom.boomify(err)
  }
 }
}

像这样在 NestJS 中

 @Get(':id')
 async getTree(@Param('id') code: string) {
  const result = await this.treesCollection.findOne({id});
  return result.data
 }

【问题讨论】:

    标签: node.js httpserver nestjs fastify


    【解决方案1】:

    我找到了对我的问题的回应,以防万一,这似乎有点合乎逻辑。正如我所怀疑的,这与网络服务器将控制器结果解释为字节所花费的时间有关。称为 TTBF 测量从 http 请求到发送到客户端的第一个字节所用的时间。

    【讨论】:

      猜你喜欢
      • 2020-05-09
      • 2020-08-09
      • 2020-12-22
      • 2019-09-16
      • 2022-06-17
      • 2021-02-12
      • 2020-11-22
      • 2023-03-16
      • 1970-01-01
      相关资源
      最近更新 更多