simulateConcurrentUsage

通过模拟用户在环境中执行不同的并发操作。

可以使用此命令验证环境的性能,以确认在特定数量的用户运行特定操作期间,服务承受负载时响应时间是否可接受。例如,可以使用此命令衡量 50 个用户同时使用不同的 POV 打开某个表单时的性能。还可以使用此命令自助对环境进行负载测试。

此命令通过按给定的用户数和迭代次数执行指定操作来执行模拟。它将运行多次迭代以计算特定操作的最短时间、最长时间和平均时间。它支持以下操作以便执行并发使用负载测试:

  • 打开表单
  • 保存表单
  • 运行业务规则
  • 运行业务规则集
  • 运行数据规则
  • 打开即席网格
  • 执行报表
  • 执行工作簿

Note:

此命令不支持 Financial Reporting 报表和工作簿;仅支持属于“报表”(以前称为“管理报表”)的工作簿和报表。

Caution:

此命令在当前环境中执行指定的操作,并可能根据操作更新环境中的数据。在测试环境中运行此命令。不建议在生产环境中运行此命令。

此命令接受 ZIP 文件(必须已经上传到环境的收件箱)作为输入。该 ZIP 文件包含一个 requirement.csv 文件和输入文件(用于支持 requirement.csv 中包含的用例)。(可选)ZIP 文件可以包含 userVarMemberMapping.csv 文件(用于提供用户变量成员映射)、options.xml 文件(用于为某些用例提供 Oracle Smart View for Office 选项),以及 users.csv 文件(用于提供现有用户的用户名和密码以供使用,而不是创建新用户)。之后,该命令模拟用例并创建报表,该报表可通过电子邮件发送给一个或多个收件人。

Note:

此命令不生成“提供反馈”提交。您可以使用业务流程屏幕中的“提供反馈”(请参阅​​《Oracle Enterprise Performance Management Cloud 管理员入门》中的“使用提供反馈实用程序帮助 Oracle 收集诊断信息”)选项、提供反馈 REST API 或 feedback 命令来生成“提供反馈”提交,以便在运行模拟后获取环境的详细信息。

使用方案 1:对 50 个用户同时打开表单时的应用程序性能进行接受度测试。

解决方案:

  1. 创建 requirement.csv,其中包含类似以下内容的条目,假设您要打开存储在 Library/Global Assumption/ 文件夹中的名为 Exchange Rates 的表单:
    # Type of Operation,Artifact Name,Number of Users,Input File,Additional Info
    Open Form, Library/Global Assumption/Exchange Rates,50,open_form_input.csv,
  2. 使用“打开表单输入文件”中指定的格式创建 open_form_input.csv。此文件中将有一个条目,将使用此条目 50 次。如果要使用不同的 POV 打开同一表单,则具有的条目数将与要使用的 POV 数相同。
  3. 如果需要设置用户变量成员映射,请使用“创建 UserVarMemberMapping.csv 文件”中指定的格式创建 userVarMemberMapping.csv
  4. 如果需要使用 Smart View 选项,则将 Smart View 选项导出到 options.xml 中。有关详细信息,请参阅“创建 options.xml 文件”。
  5. 创建包含前面步骤中的文件的 ZIP 文件,并将其上传到收件箱。
  6. 使用上一步中的 ZIP 文件作为输入文件来运行 simulateConcurrentUsage 命令。

使用方案 2:模拟特定时间(例如财务年度结束时)季节性使用量增加时的性能。假设:100 个用户保存某个表单,各个用户之间存在六秒延时时间。

解决方案:

  1. 创建 requirement.csv,其中包含类似以下内容的条目,假设您要保存存储在 Library/Dashboards/ 文件夹中的名为 Accessories Revenue 的表单:
    # Type of Operation,Artifact Name,Number of Users,Input File,Additional Info
    Save Form, Library/Dashboards/Accessories Revenue,100,save_form_input.csv,
  2. 使用“保存表单输入文件”中指定的格式创建 save_form_input.csv
  3. 如果需要设置用户变量成员映射,请使用“创建 UserVarMemberMapping.csv 文件”中指定的格式创建 userVarMemberMapping.csv
  4. 如果需要使用 Smart View 选项,则将 Smart View 选项导出到 options.xml 中。有关详细信息,请参阅“创建 options.xml 文件”。
  5. 创建包含前面步骤中的文件的 ZIP 文件,并将其上传到收件箱。
  6. 使用上一步中的 ZIP 文件作为输入文件以及属性值 iteration=1lagTime=6 来运行 simulateConcurrentUsage 命令。

适用于

PlanningPlanning 模块自由形式Financial Consolidation and CloseTax Reporting战略性人员规划销售规划

所需角色

服务管理员。您还需要身份域管理员角色来使用 testModes 0、1 和 2。

用法

epmautomate simulateConcurrentUsage INPUT_FILE.zip [iterations=COUNT] [notificationEmails="EMAIL_ADDRESS"] [testMode=0|1|2|3|4] [lagTime=LAG_TIME],其中:

  • INPUT_FILE.zip 是标识用例的 ZIP 文件的名称。在运行此命令之前,先使用 uploadFile 命令(示例命令语法 epmautomate uploadFile "C:/uploads/INPUT_FILE.zip" inbox)将此文件上传到收件箱。此 ZIP 文件必须包含以下文件:
  • iterations 是一个正数,指示运行 requirement.csv 中标识的每个用例以衡量响应时间的次数。如果未指定,则操作仅运行一次。
  • notificationEmails(可选)指示要向其发送此命令结果的电子邮件地址。如果指定多个电子邮件地址,则使用分号分隔这些地址。此外,还使用双引号括住地址列表。如果未指定,则将向发出命令的用户发送结果。有关此报表的详细信息,请参阅“"Simulate Concurrent Usage Report"(模拟并发使用报表)示例”。
  • [testMode](可选)指定并发使用模拟模式。默认值为 0。可接受的值包括:
    • 0:默认模拟模式,在此模式下,将模拟用户添加到环境,并为其分配服务管理员角色,运行模拟,然后删除模拟用户。如果要仅运行一次测试,则此模式适用。

      模拟用户具有以下属性:

      名字:testuser1、testuser2 等

      姓氏:testuser1、testuser2 等.

      电子邮件地址:testuser1@discard.oracle.com、testuser2@discard.oracle.com 等

      用户名:testuser1、testuser2 等

    • 1:将模拟用户添加到环境,并为其分配服务管理员角色。不运行模拟,也不删除模拟用户。

      使用此模式后,使用模式 3 运行该命令以运行所需次数的模拟。最后,使用模式 2 运行该命令以删除模拟用户。

    • 2:删除模拟用户。不创建用户,也不运行模拟。
    • 3:使用已有的模拟用户运行模拟,而不添加或删除用户。
    • 4:使用输入 ZIP 文件中包含的 users.csv 文件中定义的用户来运行该命令。请参阅“创建 users.csv 文件”。此模式不会为模拟创建用户。而是,使用现有用户。

    如果要仅运行一次并发使用,则使用 testMode=0。要运行一系列测试:

    • 首先,使用 testMode=1 运行该命令以添加模拟用户并为其分配服务管理员角色。
    • 然后,使用 testMode=3 运行该命令以运行所需次数的模拟。
    • 最后,使用 testMode=2 运行该命令以删除模拟用户。
  • [lagTime](可选)指定命令在执行 requirement.csv 中的每个用例之间应等待的秒数(5 秒或更长)。默认值为 5 秒。请勿使用负数(例如 -1)、分数(例如 1/2)和小数值。

    在启动一个用户执行 requirement.csv 中的一个用例后,该命令等待此参数指定的秒数,然后启动下一个用户执行该用例。由于用户活动通常不是同时启动的,因此设置此参数有助于在环境中创建更真实的负载模拟。

示例

epmautomate simulateConcurrentUsage test_simulation.zip iterations=5 notificationEmails="jane.doe@example.com;john.doe@example.com;example@example.com" lagTime=6