simulateConcurrentUsage

Executes different concurrent operations on an environment by simulating users.

This command can be used to validate the performance of the environment to verify that the response time is acceptable when the service is under the load during specific operations run by a specific number of users. For example, this command can be used to measure performance if 50 users simultaneously open a form using different POVs. It allows the self-service load testing of environments.

This command performs the simulation by executing the specified operations for a given number of users and iterations. It runs multiple iterations to calculate the minimum time, the maximum time and the average time for a particular operation. It supports these operations to perform concurrent usage load testing:

  • Open forms
  • Save forms
  • Run business rules
  • Run business rulesets
  • Run data rules
  • Open ad hoc grids
  • Execute Reports
  • Execute Books

Note:

This command does not support Financial Reporting reports and books; it only supports books and reports belonging to Reports (formerly Management Reports).

Caution:

This command executes the specified operations on the current environment and may, depending on the operation, update the data in the environment. Run this command on test environments. Running this command on production environments is not advised.

This command accepts a ZIP file, that must already have been uploaded to the inbox of the environment, as input. The ZIP file contains one requirement.csv file and the input files that support the use cases included in requirement.csv. Optionally, the ZIP file may contain a userVarMemberMapping.csv file to provide user variable member mapping, an options.xml file to provide Oracle Smart View for Office options for some use cases, and a users.csv file to provide the user names and passwords of the already existing users to use rather than creating new users. The command then simulates the use cases and creates a report that may be emailed to one or more recipients.

Note:

This command does not generate a Provide Feedback submission. You may use the Provide Feedback (see Helping Oracle Collect Diagnostic Information Using the Provide Feedback Utility in Getting Started with Oracle Enterprise Performance Management Cloud for Administrators) option from a business process screen, the Provide Feedback REST API or the feedback command to generate a Provide Feedback submission to get details of the environment after running the simulation.

Usage Scenario 1: Acceptance testing of application performance for 50 users simultaneously opening a form.

Solution:

  1. Create requirement.csv with entries similar to the following, assuming that you want to open a form named Exchange Rates stored in Library/Global Assumption/ folder:
    # 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. Create open_form_input.csv using the format specified in Open Form Input File. You will have one entry in this file, which will be used 50 times. If you want to open the same form with different POVs, you will have as many entries as the number of POVs you want to use.
  3. Create userVarMemberMapping.csv using the format specified in Creating the UserVarMemberMapping.csv File if user variable member mapping needs to be set.
  4. Export Smart View options into options.xml, if Smart View options need to be used. See Creating the options.xml File for details.
  5. Create a ZIP file containing the files from the preceding steps and upload it to the inbox.
  6. Run the simulateConcurrentUsage command using the ZIP file from the preceding step as the input file.

Usage Scenario 2: Simulating performance for seasonal usage increase, for example, at the end of the financial year. Assumption: 100 users save a form with a lag time of six seconds between each user.

Solution:

  1. Create requirement.csv with entries similar to the following, assuming that you want to save a form named Accessories Revenue stored in Library/Dashboards/ folder:
    # Type of Operation,Artifact Name,Number of Users,Input File,Additional Info
    Save Form, Library/Dashboards/Accessories Revenue,100,save_form_input.csv,
  2. Create save_form_input.csv using the format specified in Save Form Input File.
  3. Create userVarMemberMapping.csv using the format specified in Creating the UserVarMemberMapping.csv File if user variable member mapping needs to be set.
  4. Export Smart View options into options.xml, if Smart View options need to be used. See Creating the options.xml File for details.
  5. Create a ZIP file containing the files from the preceding steps and upload it to the inbox.
  6. Run the simulateConcurrentUsage command using the ZIP file from the preceding step as the input file, and these property values iteration=1 and lagTime=6.

Applies to

Planning, Planning Modules, FreeForm, Financial Consolidation and Close, Tax Reporting, Strategic Workforce Planning, and Sales Planning.

Required Roles

Service Administrator. You require the Identity Domain Administrator role also to use testModes 0, 1, and 2.

Usage

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

  • INPUT_FILE.zip is the name of a ZIP file that identifies your use cases. Use the uploadFile command (example command syntax epmautomate uploadFile "C:/uploads/INPUT_FILE.zip" inbox) to upload this file to the inbox before running this command. This ZIP file must contain these files:
  • iterations is a positive number indicating the number of times each use case identified in requirement.csv is to be run to measure response time. If not specified, the operation is run only once.
  • notificationEmails, optionally, indicates the email addresses to which the results of this commands are to be emailed. If specifying more than one email addresses, use a semicolon to separate them. Also enclose the list of address in double quotation marks. If not specified, the results are mailed to the user who initiated the command. For detailed information on this report, see Sample Simulate Concurrent Usage Report.
  • [testMode], optionally, specifies the concurrent usage simulation mode. Default is 0. Acceptable values are:
    • 0: The default simulation mode, which adds simulated users to the environment and assigns them Service Administrator role, runs the simulation, and then deletes the simulated users. This mode is useful if you want to run the test only one time.

      The simulated users have these properties:

      First Name: testuser1, testuser2, and so on

      Last Name: testuser1, testuser2, and so on.

      Email Address: testuser1@discard.oracle.com, testuser2@discard.oracle.com, and so on

      Username: testuser1, testuser2, and so on

    • 1: Adds simulated users to the environment and assigns them the Service Administrator role. Does not run the simulation or delete the simulated users.

      After using this mode, run the command with mode 3 to run the simulation as many times as needed . At the end, run the command with mode 2 to delete the simulated users.

    • 2: Deletes simulated users. Does not create users or run the simulation.
    • 3: Runs the simulation using already existing simulated users without adding or deleting users.
    • 4: Uses the users defined in the users.csv file included in the input ZIP file to run the command. See Creating the users.csv File. This mode does not create users for simulation. Instead, it uses existing users.

    If you want to run the concurrent usage one time only, use testMode=0. To run a series of tests:

    • First, run the command using testMode=1 to add the simulated users and assign them the Service Administrator role.
    • Then, run the command using testMode=3 to run the simulation as many times as needed.
    • Finally, run the command using testMode=2 to delete the simulated users.
  • [lagTime], optionally, specifies the number of seconds (5 seconds or more) that the command should wait between the execution of each use case in requirement.csv. Default is 5 seconds. Do not use negative numbers (for example -1), fractions (for example, 1/2), and decimal values.

    After initiating the execution of a use case in requirement.csv by one user, the command waits for the number of seconds specified by this parameter to initiate the execution of the use case by the next user. Because user activities are not usually initiated simultaneously, setting this parameter helps to create a more realistic simulation of load on an environment.

Example

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