LeanCloud 数据存储服务增加性能统计功能

为帮助用户更容易地掌握应用的存储负载量以及采取必要的性能优化措施,我们最近上线了存储 API 性能统计功能。现在您可以通过开发者后台的 存储 > API 统计 > API 性能 菜单查看到每日或指定期间内应用的最大并发数、每秒请求数 / QPS、所有请求的最大或平均响应时间等指标数据。

api-performance

这些指标的含义如下:

  • 最大并发数
    并发数是指服务器同时在处理的请求数。一天的最大并发数就是一天里同时在处理的请求数的最大值。
  • 最大 QPS
    QPS 是指 query per second,也就是每秒请求数。这是一天里每秒请求数的最大值。
  • 最大响应时间
    一个请求的响应时间是服务器从收到这个请求到完成处理并发回结果的时间。一天的最大响应时间就是这一天里所有请求当中最耗时的一个请求所对应的时间。
  • 平均响应时间
    一天里所有请求的响应时间的平均值。
  • 80%、90%、95% 响应时间上限
    反映一天内响应时间的分布。将一天内的请求按照响应时间从小到大排序,截取前 x% 的请求,其最大响应时间就是 x% 响应时间上限。如果 95% 响应时间上限是 20ms,意味着当天有 95% 的请求响应时间是低于 20 毫秒的。对大多数应用而言,在一天当中难免出现少数比较慢的请求,这些数字排除了少数异常情况,对衡量真实的用户体验往往比最大响应时间更有参考价值。

并发数和 QPS

并发数和 QPS(每秒请求数)是容易混淆的概念,所以我们在此做一下详细说明。并发数、QPS、响应时间满足以下关系:

平均 QPS × 平均响应时间 = 平均并发数

比如:假设在一段时间内一个应用平均每秒要处理 200 个请求,也就是平均 QPS 为 200,如果平均响应时间为 0.04 秒(40 毫秒),那么要及时处理这些请求服务器需要支持的平均并发数为 200 × 0.04 = 8。如果通过对代码或者数据库的优化把平均响应时间缩短到了 0.02 秒(20 毫秒),那么服务器需要支持的平均并发数就降低到了 200 × 0.02 = 4 了。所以在并发数固定的情况下,降低请求的响应时间可以提高服务器每秒可处理的请求数。

我们 不久前发布了通告 ,提到未来会将计费方式更改为 实时扣费 ,其中存储服务将以 并发数上限 作为计费指标。一方面这样让用户有更多动力对自己的应用性能进行优化,性能越好(即请求响应时间越低)那么处理同样数量请求所需的并发上限就越低,成本也就越低。另一方面这也便于我们对云端进行合理的容量规划和资源分配,确保云端服务的稳定可靠。

慢查询

「API 性能」的第二项是慢查询统计,在这里您可以看到特定日期最耗时的查询请求,包括每个请求的查询条件、出现的次数、平均响应时间等。

我们的后台任务会收集各个应用的查询日志并自动优化索引,但如果您在慢查询列表中还是看到大量因为缺少索引导致的耗时请求,可以发送邮件到 support@leancloud.cn 说明 App ID、Class、查询条件,我们会帮您建立索引。目前在控制台只对用户开放了自助创建唯一索引(即值不能重复),自助创建普通索引的功能将在以后开放。


在未来我们将逐步扩充帮助开发者监控和提高应用性能的功能。对用户而言,由于无需进行额外的集成和配置工作,这比集成单独的 APM 服务要简单很多,并且由于 LeanCloud 可以收集所有运行时数据,所以将来我们会提供比传统独立 APM 服务更强大的功能。LeanCloud 会持续投入和改进,致力于为开发者打造更加流畅、高度集成的开发体验。

发表评论

电子邮件地址不会被公开。 必填项已用*标注