如何解决即使查询很少,Apollo服务器也非常慢
我知道使用大型数据集时GraphQL会变慢,但是我所拥有的是大约60个项目的数组。例如。在一个简单的查询中,我获取了id
,title
和country
,Apollo服务器平均花费3毫秒以上的时间来返回数据,而解析器重新运行调用REST的数据不到200毫秒的终点。我使用Apollo Studio调试查询,但是得到的结果根本对我没有帮助-到处都少于1毫秒。
如果我要使用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 举报,一经查实,本站将立刻删除。