当前位置: 首页 > news >正文

每个平台团队都应该跟踪的API指标

目录

识别关键 API 度量

基础架构/DevOps

应用工程/平台

产品管理

业务/增长

基础架构API指标

正常运行时间

CPU使用率

内存使用率

应用程序API指标

相应时间

平均和最大延迟

吞吐量

可用性

缓存命中率

每分钟错误数

每个业务事务的API调用

如何收集优化API指标


识别关键 API 度量

当涉及到API时,每个团队都需要跟踪不同的KPI。

基础架构/DevOps

确保服务器正在运行,并且正确分配有限的资源,这可能适用于多个工程团队

应用工程/平台

API开发人员负责向API添加新功能,同时调试API业务逻辑中特定于应用程序的问题。这些产品可以是API即服务、为合作伙伴提供的插件和集成、包含在更大产品中的API或其他产品

产品管理

API产品经理负责规划API功能,确保构建正确的API端点,并平衡客户需求(无论是内部还是外部)与工程时间和个人限制。

业务/增长

市场营销和销售等面向业务的团队并没有考虑API端点,而是对客户采用感兴趣,确保他们成功使用API,以及API的来源,并了解哪些用户可能成为新的销售机会。

基础架构API指标

这些指标中的许多都是应用程序性能监控(APM)工具和基础设施监控公司(如 Datadog)关注的焦点

正常运行时间

虽然正常运行时间或可用性是最基本的衡量标准之一,但它是衡量服务可用性的黄金标准。许多企业协议都包含SLA(服务级别协议),正常运行时间通常包含在其中。很多时候,你会听到三个9或四个9之类的术语,这是衡量每年正常运行时间与停机时间的指标。

当然,从4到5个9比从2到3个9要困难得多,这就是为什么除了最关键(也是最昂贵)的服务之外,你不会看到5个9。话虽如此,某些服务实际上可以降低正常运行时间,同时确保在不影响服务的情况下妥善处理停机。例如,Moesif的设计使得它可以继续从我们的SDK中收集数据,即使在网站和仪表板完全中断的情况下也是如此。即使在我们的收集网络出现故障的最坏情况下,SDK也会在本地排队,不会导致应用程序中断。

正常运行时间通常通过ping服务或合成测试来测量,例如通过Pindom或UptimeRobot。您可以将探测配置为以固定的间隔运行,例如每分钟运行一次,以探测特定的端点,例如/health或/status。该端点应该具有基本的连接测试,例如到任何备份数据存储或其他服务的连接测试。

CPU使用率

CPU使用率是最经典的性能指标之一,CPU使用率高可能意味着服务器或虚拟机正在处理大量任务或程序,也可能意味着应用程序中存在性能缺陷,例如旋转锁过多。可以使用CPU使用率和内存百分比来进行资源规划和衡量整体运行状况。

💡

自旋CAS如果长时间不成功,会给CPU带来非常大的执行开销

内存使用率

与CPU使用率一样,内存使用率也是衡量资源使用率的一个很好的指标,因为CPU和内存容量是物理资源,而不是可能更依赖于配置的指标。

内存使用率极低的虚拟机可以缩小规模,也可以为该虚拟机分配额外的服务以消耗额外的内存。另一方面,高内存使用率可能是服务器过载的指标。传统上,大数据查询/流处理和生产数据库比CPU消耗更多的内存。事实上,每个虚拟机的内存大小可以很好地指示批处理查询所需的时间,因为更多的可用内存可以减少检查点、网络同步和磁盘分页。在查看内存使用情况时,还应该查看页面错误和I/O操作的数量。一个容易犯的错误是,应用程序被配置为最多只分配一小部分可用物理内存,这可能会导致人为的高页面虚拟内存抖动。

应用程序API指标

API性能指标是用于评估应用程序编程接口(API)的效率、可靠性和总体功能的可测量值。这些指标有助确定问题,优化功能,并确保与其他应用程序的无缝集成。

相应时间

API处理请求并返回响应所用的时间,通常以毫秒为单位。响应时间越短,表示性能越高。

平均和最大延迟

API延迟是指数据或请求从源到目的地所需的时间。延迟以毫秒为单位。延迟越接近于零越好,相反则对用户体验产生负面影响。当出现API延时主要考虑从应用层、数据库层排查。比如索引失效、代码缺陷。

吞吐量

API 每单位时间处理的请求数,通常以每秒请求数(RPS)来衡量。对于处理大型工作负载的 API 来说,高吞吐量是理想的。

可用性

API可供使用的时间百分比,通常以总时间的百分比来衡量。高可用性对于确保可靠和健壮的API至关重要。

缓存命中率

从缓存而不是直接查询数据源提供服务的API请求的百分比。较高的缓存命中率通常会减少响应时间和服务器负载,从而获得更好的性能。

每分钟错误数

每分钟错误(或错误率)是每分钟非200个状态代码系列的 API 调用的数量,对于测量 API 有多少错误和容易出错是至关重要的。高错误率表明API存在问题,例如代码错误、资源不足或网络问题等外部因素。通过识别和解决这些问题,可以降低错误率,并提供更可靠、高效的API,为用户提供一致的性能。

每个业务事务的API调用

如果一个API需要进行三次以上的操作才能把数据拼接在一起返回到调用者说明API可能需要重新设计。在设计API时需要从业务事务和调研者的目标角度来考虑。比如如何设计过滤条件、分页。

如何收集优化API指标

定期分析收集的指标并确定需要改进的方面来优化API性能。关键步骤包括完善代码逻辑优化数据库查询改进服务器基础设施实现缓存机制以及使用CDN来减少延迟。通过持续监控性能指标并实施改进,可以确保其API保持健壮高效,为用户提供可靠、高质量的服务。

跟踪诸如响应时间,成功请求率,错误率,数据吞吐量和可用性等指标至关重要。通过密切监视这些指标,可以识别性能瓶颈,诊断技术问题并实施更改以改善整体用户体验。


延伸阅读

如何版本REST API:综合指南-CSDN博客

如何设计 API: 基本指南 + 最佳实践-CSDN博客

金融行业业务流程指南-三级模型-CSDN博客

http://www.lryc.cn/news/459563.html

相关文章:

  • Windows 11 24H2版本有哪些新功能_Windows 11 24H2十四大新功能介绍
  • 渗透测试 之 AD域渗透 【Kerberoasting】 攻击技术讲解 对应得工具详细介绍哟~ 以及相关示例 按照步骤做你也会哟
  • 如何在Ubuntu上更改MySQL数据存储路径
  • Cortex-M 内核的 OS 特性
  • 第十六章 RabbitMQ延迟消息之延迟插件优化
  • [单master节点k8s部署]32.ceph分布式存储(三)
  • git 相关问题解决一一记录
  • UE4 材质学习笔记04(着色器性能优化)
  • 3、Redis Stack扩展功能
  • Flythings学习(二)控件相关
  • 关于multiprocessing使用freeze_support()方法
  • 基于rk356x u-boot版本功能分析及编译相关(一)
  • Jenkins---01
  • 第十五届蓝桥杯C++B组省赛
  • 线程 vs 虚拟线程:深入理解及区别
  • 【WEB应用安全测试指南–蓝队安全测试2】--超详细-可直接进行实战!!!亲测-可进行安全及渗透测试
  • 使用HTML、CSS和JavaScript创建滚动弹幕效果
  • 【C语言】--数组
  • 面向B2B市场的Spring Boot医疗病历系统开发
  • 闭着眼学机器学习——支持向量机分类
  • 今日指数项目day8实战权限管理器(上)
  • 《机器学习与数据挖掘综合实践》实训课程教学解决方案
  • linux中软连接和硬链接的区别
  • #Swift 对比 Static 在Swift 和 OC中的用法
  • yakit使用教程(三,端口探测和指纹扫描)
  • 一维数组的引用
  • Vue3 watch 监视属性
  • 大数据-158 Apache Kylin 安装配置详解 集群模式启动
  • PHP商会招商项目系统一站式服务助力企业腾飞
  • pnpm 和 npm