即使查询很少,Apollo服务器也非常慢

问题描述

我知道使用大型数据集时GraphQL会变慢,但是我所拥有的是大约60个项目的数组。例如。在一个简单的查询中,我获取idtitlecountry,Apollo服务器平均花费3毫秒以上的时间来返回数据,而解析器重新运行调用REST的数据不到200毫秒的终点。我使用Apollo Studio调试查询,但是得到的结果根本对我没有帮助-到处都少于1毫秒。

enter image description here

如果我要使用2个嵌套查询进行更复杂的查询,则相同的60个项目需要15到20秒的时间,而且嵌套查询相当轻。

我在Google上搜索后发现,人们对成千上万个商品的查询非常繁琐,他们面临类似的问题,而他们谈论的只是几秒钟,而不是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,}),});

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)