Express Apollo服务器即使有轻微的查询也非常慢

Express Apollo服务器即使有轻微的查询也非常慢,express,graphql,apollo-server,Express,Graphql,Apollo Server,我知道GraphQL在处理大型数据集时速度会变慢,但我拥有的是一个大约60项的数组。例如,在一个简单的查询中,我获取id、title和country,Apollo服务器返回数据平均需要3毫秒以上,而解析程序在不到200毫秒的时间内重新运行调用REST端点的数据。我使用Apollo studio调试查询,而我得到的对我没有任何帮助——任何地方都不到1毫秒 如果我使用两个嵌套查询进行更复杂的查询,那么对于相同的60个项目,需要15-20秒,而且嵌套查询非常简单 我在谷歌上搜索发现,人们面临着类似的

我知道GraphQL在处理大型数据集时速度会变慢,但我拥有的是一个大约60项的数组。例如,在一个简单的查询中,我获取
id
title
country
,Apollo服务器返回数据平均需要3毫秒以上,而解析程序在不到200毫秒的时间内重新运行调用REST端点的数据。我使用Apollo studio调试查询,而我得到的对我没有任何帮助——任何地方都不到1毫秒

如果我使用两个嵌套查询进行更复杂的查询,那么对于相同的60个项目,需要15-20秒,而且嵌套查询非常简单

我在谷歌上搜索发现,人们面临着类似的问题,他们的查询量非常大,涉及数千项内容,他们只需几秒钟,而不是15-20秒

感觉我的设置有问题。我没有得到任何错误。 我正在使用带有基本设置的apollo server express:

const server = new ApolloServer({
  typeDefs,
  resolvers,
  introspection: true,
  playground: !(process.env.NODE_ENV === 'production'),
  engine: {
    reportSchema: true,
    graphVariant: 'current',
  },
  subscriptions: {
    onConnect: () => winston.info('Connected to websocket'),
    onDisconnect: webSocket => winston.info(`Disconnected from websocket ${webSocket}`),
  },
  context: ({ req }) => ({
    //eslint-disable-line
    req,
    pubSub,
  }),
});

有同样的问题。我还使用阿波罗工作室进行监控。你能试着禁用apollo studio并手动检查它是否更好吗?我觉得apollo studio监控正在降低apollo服务器的性能。@老兄,我也尝试过不使用它。不幸的是,我还没有找到它的原因。。。从解析器中记录一些自己的度量,或者使用插件。我还有一个问题,阿波罗服务器变得非常慢。不知道是什么问题。您使用的是哪个节点版本?在我的一个练习中,我的apollo服务器需要20秒才能启动,我只有很少的查询,google OAuth无法接受。