graphql-java中的性能问题,特别是在ExecutionStrategy#completeField和ExecutionStrategy#fetchField中

问题描述

在测试应用程序中的批量数据时,在JProfiler读数中,我们看到graphql的解析和处理比DB层花费的时间要多得多。

1-对于1k记录

  • graphql的总执行时间约为〜 6.6s
  • 其中DB查找/ Datafetcher大约需要961ms

2-记录65k

  • graphql的总执行时间约为〜 228s
  • 其中DB查找/ Datafetcher大约需要21秒

具体来说,这两种Graphql方法占用了大部分处理时间:

  • graphql.execution.ExecutionStrategy#completeField
  • graphql.execution.ExecutionStrategy#fetchField

有关完整问题,请参见:https://github.com/graphql-java/graphql-java/issues/2017

问:哪些因素导致graphql的处理开销?当我们在所有API中广泛使用graphql时,是否有任何最佳实践可以帮助减少总体时间?

解决方法

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

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

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

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...