根据 NewRelic 仪表板寻求有关性能指标的建议

根据 NewRelic 仪表板寻求有关性能指标的建议

背景信息:

我被授予访问在 AWS 账户上运行 django 应用程序的生产服务器的 newrelic 仪表板的权限,并负责编写一些 gatling.io(性能测试软件)脚本。

这样做的原因是我发现了我们的 apache 配置的一个主要问题,并在开发机上测试了我的配置,发现内存和 CPU 消耗有了显著改善。我们现在想针对应用程序中性能不佳的部分创建脚本,这样在我们更改生产配置后,我们可以重新测量它们并找出这个新配置到底有多大的改进。

当前的问题:

我有太多关于 newrelic 的信息:

Transactions
    Most time consuming transactions by percentage
    Routes with slowest average response times
    Top transactions with highest wall clock time
Database
    same as above

我的问题是我应该把重点缩小到哪里?我无法为所有内容创建脚本,那么我应该从哪里开始才能准确显示新配置是否正常工作?如何根据 newrelic 中的信息选择每个请求的用户数量以及这些用户的扩展?非常感谢任何和所有信息。

答案1

由于您在 AWS 上运行环境,我希望您的环境是使用 CloudFormation 模板或任何基于其构建的服务(例如 Elastic Beanstalk)设置的。基于此假设,我将提出以下建议:

  1. 在单独的 VPC 中启动您环境的精确副本
  2. 创建负载测试脚本,从较少的请求量开始,逐渐增加到高峰时段的水平。
  3. 使用旧配置针对克隆环境运行负载测试脚本,例如 1 小时
  4. 在克隆环境中进行配置更改(或者,为了这个目的,关闭克隆并启动一个包含更改的新克隆)
  5. 在相同的时间内针对新的配置更改运行相同的负载测试脚本

至于什么为了进行测试,我将重点关注通常负载最高和/或最重的端点。在这些端点上,您将最清楚地看到差异。

稍后在 New Relic 中进行比较时,比较事务、CPU、内存等的响应时间。

相关内容