监控

性能优化从确定关键指标开始,这些指标通常与延迟时间和吞吐量有关。增加监控来捕获和跟踪这些指标会暴露应用中的弱点。您可以根据指标进行优化,以提升性能指标。

此外,许多监控工具都允许您为指标设置提醒,以便在达到特定阈值时收到通知。例如,您可以设置提醒,以便在失败请求的百分比增加超过正常水平的 x% 时通知您。监控工具可帮助您识别正常性能,并识别异常的延迟时间、错误数量和其他关键指标。在关键业务时间范围内或新代码推送到生产环境之后,监控这些指标的能力尤为重要。

确定延迟时间指标

请尽可能确保界面响应迅速,同时请注意,用户希望移动应用能满足更高的标准。此外,还应衡量和跟踪后端服务的延迟时间,尤其是因为如果未勾选,可能会导致吞吐量问题。

建议跟踪的指标包括:

  • 请求时长
  • 子系统粒度的请求时长(例如 API 调用)
  • 作业时长

确定吞吐量指标

吞吐量用于衡量在给定时间段内处理的请求总数。吞吐量可能会受子系统延迟的影响,因此您可能需要针对延迟进行优化,以提高吞吐量。

建议跟踪以下指标:

  • 每秒查询次数
  • 每秒传输的数据量
  • 每秒 I/O 操作次数
  • 资源利用率,例如 CPU 或内存用量
  • 处理积压作业的大小,例如 Pub/Sub 或线程数

不仅仅是平均值

衡量性能时,一个常见的错误是只关注平均值。虽然这很有用,但并不能深入分析延迟时间的分布情况。最好跟踪性能百分位数,例如指标的第 50/75/90/99 百分位。

一般来说,优化可以通过两个步骤完成。首先,针对第 90 百分位延迟时间进行优化。然后,考虑第 99 百分位(也称为“尾延迟时间”):一小部分请求需要更长的时间才能完成。

对详细结果进行服务器端监控

通常,服务器端分析对于跟踪指标是首选。服务器端通常更易于插桩,允许访问更精细的数据,并且不太可能受到连接问题干扰。

浏览器监控功能,确保端到端可见性

浏览器性能分析报告可帮助您更深入地了解最终用户的体验。它可以显示哪些页面的请求速度较慢,然后您可以将其关联到服务器端监控以进行进一步分析。

Google Analytics(分析)“网页计时”报告中针对网页加载时间提供开箱即用型监控功能。这可提供几种有用的视图,帮助您了解您网站上的用户体验,具体包括:

  • 网页加载时间
  • 重定向加载时间
  • 服务器响应时间

在云端监控

您可以使用多种工具来捕获和监控应用的性能指标。例如,您可以使用 Google Cloud Logging 将性能指标记录到 Google Cloud 项目中,然后在 Google Cloud Monitoring 中设置信息中心以监控和细分所记录的指标。

如需查看从 Python 客户端库中的自定义拦截器将日志记录到 Google Cloud Logging 的示例,请参阅 Logging 指南。利用 Google Cloud 中提供的这些数据,您可以根据记录的数据构建指标,以便通过 Google Cloud Monitoring 了解应用的情况。按照针对用户定义的基于日志的指标的指南操作,使用发送到 Google Cloud Logging 的日志构建指标。

或者,您也可以使用 Monitoring 客户端库在代码中定义指标,并将其与日志分开发送到 Monitoring。

基于日志的指标示例

假设您想要监控 is_fault 值以更好地了解应用中的错误率。您可以将日志中的 is_fault 值提取到新的计数器指标 ErrorCount 中。

指标配置

指标中的过滤条件和标签

在 Cloud Logging 中,借助标签,您可以根据日志中的其他数据将指标分组。您可以为发送到 Cloud Logging 的 method 字段配置标签,以查看 Google Ads API 方法如何细分错误计数。

配置 ErrorCount 指标和 Method 标签后,您可以在 Monitoring 信息中心内创建新图表来监控 ErrorCount(按 Method 分组)。

ErrorCount 信息中心

提醒

您可以在 Cloud Monitoring 和其他工具中配置提醒政策,以指定您的指标应何时以及如何触发提醒。如需了解如何设置 Cloud Monitoring 提醒,请参阅提醒指南