为帮助用户更容易地掌握应用的存储负载量以及采取必要的性能优化措施,我们最近上线了存储 API 性能统计功能。现在您可以通过开发者后台的 存储 > API 统计 > API 性能 菜单查看到每日或指定期间内应用的最大并发数、每秒请求数 / 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 会持续投入和改进,致力于为开发者打造更加流畅、高度集成的开发体验。