GraphQL API 性能测试:查询到底能有多快?

开发 测试
自2015年开源以来,GraphQL因其灵活性和高效率而迅速普及。它可以通过允许客户端在一个请求中准确指定他们所需的数据来处理复杂的嵌套查询,从而消除了RESTful API固有的数据冗余和请求冗余的经典问题。

 [[348630]]

图源:unsplash

自2015年开源以来,GraphQL因其灵活性和高效率而迅速普及。它可以通过允许客户端在一个请求中准确指定他们所需的数据来处理复杂的嵌套查询,从而消除了RESTful API固有的数据冗余和请求冗余的经典问题。

此外,由于它只是一种查询语言,与协议无关,因此可以通过HTTP2、websockets或TCP使用。

有什么潜在的风险?

但是,GraphQL并不是万金油,做出转变时还有一些问题需要考虑。

· 出错信息:即使查询失败,客户端也始终会收到200状态,因为非200响应代码表示问题发生在HTTP传输层而不是GraphQL层。

· 模式设计:如果开发人员在进行模式设计时粗心了(尤其是在定义resolver函数时),那么性能和效率可能会急剧下降——使用GraphQL API可能比RESTful API更糟糕。

· 性能测试:使用GraphQL API很难进行有意义的性能测试,因为它仅公开一个测试端点。在对包含多个嵌套查询的请求进行故障排除时,开发人员如何才能知道瓶颈在哪里,或者是什么导致请求失败?

这些都是在设计API时需要考虑的问题。不过也有好消息,即使存在些局限,性能优化和测试也能轻松完成。

查询有多快呢?

进入OpticQL,这是OSLabs Beta最近启动的开源项目,旨在通过性能测试解决上述问题。OpticQL是一个桌面应用程序,它为GraphQL API提供了用户友好的测试平台,并结合了轻量级的NPM软件包,该软件包使开发人员能够将应用程序无缝连接到OpticQL,导入其架构并捕获数据库请求的性能指标。

 

[[348631]]

图源:unsplash

OpticQL的功能包括:

· 模式可视化,以图形方式表示所有模式的字段和边。所有类型名称都以颜色编码和动态视图连接到其字段,还提供了模式可视化的全屏视图。

· 输入字段以编写和提交查询和修改。当查询或修改发送到OpticQL时,架构的所有受影响部分将变为绿色,以指示请求已“到达”它们。

· 包含返回的响应数据、细粒度的resolver跟踪信息,以及请求触发的所有错误的列表的视图。

· 以毫秒为单位的请求执行情况的图形化概览,可选择查看最新请求的性能,并与对OpticQL作出的历史请求的性能进行比较。

· 浏览受查询影响的每个字段的扩展性能指标的更多选项。

对于希望测试和优化GraphQL API性能的开发人员而言,OpticQL强大且易于使用,你可以在OpticsQL的网站下载它或了解更多信息。

责任编辑:张燕妮 来源: 今日头条
相关推荐

2020-02-24 17:53:06

5G速度有多快

2021-12-15 09:00:00

GraphQL安全漏洞

2023-08-30 15:49:51

GraphQLAPI 开发

2022-12-05 07:13:44

2020-09-28 06:57:39

Node.jsGraphQLAPI

2023-11-02 16:51:07

Python代码

2019-12-09 08:00:00

GraphQLAPI架构

2022-05-06 09:52:17

REST接口API

2021-05-07 09:06:55

GraphQLAPI 以太坊

2024-06-24 00:20:00

API应用程序接口

2016-11-07 11:47:50

IBM

2021-05-28 07:03:24

Vue GraphQL AP前端

2023-04-11 07:43:32

PostmanGraphQL查询。

2020-07-22 08:27:26

函数监控前端

2021-07-26 08:12:31

开源API网关

2020-01-18 14:55:03

架构运维技术

2019-03-27 10:50:50

HTTP请求管线式

2019-02-22 09:10:55

5G网络运作

2023-10-18 10:38:53

API

2011-03-15 16:34:36

Iptables性能
点赞
收藏

51CTO技术栈公众号