【发布时间】:2019-11-10 02:56:02
【问题描述】:
我想测试 GraphQL 端点和 RESTful 端点的响应时间,因为我以前从未使用过 GraphQL,我将在我的下一个 Laravel 项目中使用它。
所以我使用Lighthouse PHP 包从我的 Laravel 应用程序提供 GraphQL 端点,并且我还创建了一个 RESTful 端点。
两个端点(GraphQL 和 RESTful)都旨在从我的本地数据库中获取所有用户(250 个用户)。
因此,根据我在这里注意到的测试,当我在Postman 上测试这两个端点时,RESTful 端点响应比 GraphQL 端点更快。
我能知道为什么 GraphQL 端点的响应比 RESTful 需要更多的时间,而两个端点都在获取相同的数据吗?
GET 请求的 GraphQL 端点结果(响应时间:88 毫秒)
【问题讨论】:
-
不分析就知道。我的猜测是,在此示例中,您为 graphql 所做的额外处理付费(计算选择集,仅返回必填字段),但没有获得任何回报。如果你想要真正的比较,做一些更复杂的请求
-
@kaz 您是否尝试过 POST 请求 graphql api 以获取用户列表。由于 graphql 遵循所有的 POST 请求。
-
@Ashok 在 GraphQL 官方文档 graphql.org/learn/serving-over-http 上,我已经通过 GET 请求发送了请求。无论如何,我会尝试使用 POST 请求,并让您知道。
-
@NirLevy 复杂请求是什么意思?
-
@Ashok 我已经通过 POST 请求发送了它,但响应时间仍然相同。您可以在我上面发布的带有问题的屏幕截图中看到结果。
标签: laravel graphql graphql-php