gpt4 book ai didi

laravel - 与RESTful相比,GraphQL GET响应时间慢

转载 作者:行者123 更新时间:2023-12-03 09:54:46 24 4
gpt4 key购买 nike

我想测试GraphQL端点和RESTful端点的响应时间,因为我以前从未使用过GraphQL,因此我将在下一个Laravel项目中使用它。

因此,我正在使用Lighthouse PHP软件包通过Laravel应用程序提供GraphQL终结点,并且我还创建了一个RESTful终结点。

两个端点(GraphQL和RESTful)都旨在从我的本地数据库中获取所有用户(250个用户)。

因此,基于测试,我在这里注意到的是,当我在Postman上测试这两个终结点时,RESTful终结点响应比GraphQL终结点更快。

我能知道为什么在两个端点都获取相同数据时GraphQL端点的响应比RESTful需要更多的时间吗?

GET请求的GraphQL端点结果(响应时间:88ms)
enter image description here

POST请求的GraphQL端点结果(响应时间:88ms)
enter image description here

RESTful端点结果(响应时间:44ms)
enter image description here

最佳答案

没有免费的午餐。

GraphQL提供了许多有用的功能,但是这些相同的功能总是会产生一些开销。尽管REST端点可以有效地从某个源中提取数据并将其重新分配给客户端,但即使对于相对较小的数据集,GraphQL也将不得不进行一些额外的处理来解析和验证响应中的每个字段。更不用说解析和验证请求本身所需的处理。而且,这种开销只会随着返回数据的大小而变得更大。

如果要向镜像GraphQL的REST端点引入其他功能(请求和响应验证,对部分响应的支持,对单个响应字段进行别名的能力等),您会发现两者之间的性能差距正在缩小。即使那样,尽管如此,它仍然还是苹果和橘子的比较,因为GraphQL服务将经历某些 Action ,仅仅是因为spec所说的。

关于laravel - 与RESTful相比,GraphQL GET响应时间慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56801991/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com