使用 Apache JMeter 测试性能

性能测试是确保 Oracle Analytics Cloud 能够在不牺牲性能的情况下处理预期工作量的重要步骤。您可以使用 Apache JMeter(一种用于性能测试的开源工具)来模拟实际用户体验,并衡量 Oracle Analytics Cloud 报表的性能。

下图说明了 Oracle Analytics Cloud 的性能测试流程。GUID-80613252-4A68-4BB8-896B-1CD2665062CA-default.jpg 的说明如下
.jpg 的说明

  1. 根据真实场景确定性能指标。

    要确定性能指标,您必须了解 Oracle Analytics Cloud 的要求和用户的期望。例如,如果您希望 Oracle Analytics Cloud 能够应对大量用户,那么性能指标应侧重于响应时间和吞吐量。同样,如果您希望 Oracle Analytics Cloud 能够处理大量数据,性能指标应侧重于资源利用率。定义性能指标后,您就可以设定性能目标了。

  2. 设计指标的测试计划。

    测试计划必须能够模拟实际场景和工作量。这意味着您必须确定不重复的虚拟用户数、测试持续时间以及请求之间的思考时间。将不重复的虚拟用户数设置为切合实际的值来模拟实际预期工作量。同样,将测试持续时间设置为切合实际的值来表示用户运行报表的时长。思考时间是指用户在两次请求之间花费的时间,因此您必须另外设置一个切合实际的思考时间值来模拟实际场景。

    您还必须将定速设置包含在脚本中,以确保以切合实际的速度发送请求。为了获得准确且实用的结果,Oracle 建议您对不同的活动使用不同的思考时间,而不是使用固定的思考时间。例如,对于简单的仪表盘导航,建议使用较短的思考时间 20 秒,而对于提示选择,建议使用适中的思考时间 60 秒。同样,在显示报表时,Oracle 建议使用较长的思考时间,即通过随机化设置 120-200 秒的思考时间。此方法可确保测试准确反映实际用户行为,并生成可靠的结果。

  3. 关联动态值。

    关联涉及获取和替换脚本中的动态值,如访问令牌、会话状态 ID、CSRF 令牌以及其他动态参数。无法关联这些值可能会导致出现错误和不准确的结果。关联对于 Oracle Analytics Cloud 这类基于云的应用程序至关重要,因为这类应用程序使用动态值来维护会话和处理用户请求。为了简化此过程,您可以下载适用于 Oracle Analytics Cloud 的示例关联规则库 COR 文件 ,其中包含一组预构建的关联规则,您可以使用这些规则来创建适用于 Oracle Analytics Cloud 的测试脚本。

  4. 记录和重放测试脚本。

    JMeter 提供了记录用户操作并将其转换为测试脚本的功能。您可以使用此功能记录 Oracle Analytics Cloud 中的用户操作,并创建测试脚本来模拟实际场景。您可以多次重放记录的脚本,以验证报表性能。您必须设计测试脚本来模拟实际场景,如搜索数据、生成报表和可视化数据。

  5. 使用真实工作量进行测试。

    要模拟真实工作量,您必须将虚拟用户数设置为切合实际的值来模拟预期工作量。然后,您可以逐步增加工作量,以确定应用程序的最大处理能力。Oracle 建议您至少运行测试一小时,以模拟实际场景,并设计工作量来模拟高峰使用时段,如月末或财年末。

  6. 分析结果。

    测试完成后,分析结果以找出性能瓶颈,如响应速度慢、错误率高或过度使用查询处理能力。您可以使用通过 Oracle Cloud Infrastructure 监视服务提供的指标和 JMeter 的内置分析工具来完成这项工作。确定了性能瓶颈后,您可以根据自己的调查结果来采取措施以提高报表性能。这可能包括优化查询、改进系统设置配置或增加 OCPU 数量。

    如果您的报表未能达到性能目标,您可以通过找出并解决瓶颈来进行优化。JMeter 的监听程序可以帮您找出速度最慢的请求,并且您可以通过分析日志来确定性能问题的根本原因。您可能需要优化数据库查询、调整高速缓存设置或扩展基础设施规模,以提高 Oracle Analytics Cloud 的性能。

请遵循上述准则来确保 Oracle Analytics Cloud 满足您的性能要求,并为您的组织带来快速、无缝的体验。通过定期进行性能测试,您可以提前找出问题并解决,以避免这些问题影响用户。