【发布时间】:2019-12-01 15:53:48
【问题描述】:
我有一个非常简单的设置。 Express-GraphQL API 与 MongoDB 数据库。 MongoDB 响应通常非常快,但是当我想从 GrapQL API 返回时,TTFB 花费的时间太长,尤其是对于多用户查询。
例如,当我请求用户时,TTFB 为 25.65 毫秒,内容下载约为 0.6 毫秒。但是当我请求所有具有相同字段的用户时,TTFB 是 4.32 秒,内容下载大约是 1.28 秒。
内容下载没问题,但我觉得 TTFB 比它应该的要长。您可以使用下面的 RootQuery 检查我的部分架构。
const RootQuery = new GraphQLObjectType({
name: 'RootQueryType',
fields: {
user: {
type: UserType,
args: {mail: {type: GraphQLString}},
resolve(parent, args){
return User.findOne({mail: args.mail});
}
},
users: {
type: new GraphQLList(UserType),
resolve(parent,args){
return User.find({}).collation({ locale: "en" }).sort({name: 1, surname: 1});
}
}
}
});
降低 TTFB 的最佳方法是什么?
【问题讨论】:
-
“花费太长时间”与什么相比?只是反刍数据库查询结果的 REST 端点?
标签: express mongoose graphql express-graphql