为了比较两个框架的性能,我做了两个项目,一个使用nestJS / mongoDB,另一个使用Fastify / MongoDB。我制作了一个简单的get资源API,用于查询具有〜400Kb的mongo文档。两个项目的路由都在300毫秒内以JSON文档进行响应。有人能告诉我额外的280毫秒来自哪里,因为mongo响应不超过20毫秒。
它们都可以同时响应,这与框架无关。是API完成的压缩,还是节点服务器花费的时间
当我分析代码时,在两种情况下,mongo都不会超过20毫秒,而get处理器立即返回该文档。没有简单的代码或额外的日志记录,只有简单的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
}
答案 0 :(得分:0)
以防万一,我发现了对我问题的回答,这似乎是一种逻辑。我怀疑这与Web服务器将控制器的结果解释为字节所花费的时间有关。 TTBF ,是从http请求到发送给客户端的第一个字节所花费时间的度量。