You are viewing the documentation for Blueriq 16. Documentation for other versions is available in our documentation directory.
1 Introduction
Starting with release 11.0 Blueriq decided to introduce a forms performance report. Triggered by the new external session storage development this report doesn't serve solely the purpose of offering performance information to clients that use Blueriq forms exclusively (without any additional components like dashboards, process engine etc) but also offers us the possibility to compare and assess the response times for the memory and external session implementations.
Because generally forms tend to be lighter on the memory consumption than other components it was decided to simulate a higher user load. This method assures that the differences in response times are clearer and less circumstantial and helps us draw some conclusions on the use limitations in a certain given environment with some certain given settings. In this way we learned for instance that the Runtime is slightly faster with an inmemory session keeping but on the other hand it supports a lower amount of users.
See 11. Performance Tuning for a more in-depth analysis of Memory vs. Redis session store performance and performance tuning advice.
Returning to the user load it is important to say that the 2 attached reports are depicting a run with 450 threads (for the memory run) and a run with 800 threads respectively (for the redis run). Both runs are holding the load for 1 hour. As for the results themselves they are interpreted in the same study measurement way as the other Blueriq performance tests namely with the help of Apdex. For more information about Apdex, please see 03 Apdex method.
2 Reference Application
In order for us to obtain relevant test results we needed to have a Blueriq application very much similar to a real application in production. Thus we aimed at having as much elements as possible (required fields, conditional fields, field validations, file upload/download containers etc) but also a reasonable profile size. The reference application used for forms performance testing is a bank website where the user can either search and find the available ATMs in his area or apply for one of the three available loans.
The performance script carries the user from logging in, to searching for available ATMs (this is the step where 500 instances are created - each of them containing 5 attributes), applying for a loan, filling fields, switching pages, uploading and downloading files and eventually logging out of the application.
Application Flow
The permance script consists of the following steps in the main application flow:
Step | Name | Description |
---|---|---|
1 | Login | The user logs in with a username and password. |
2 | Start project | Start the application and display the Welcome screen |
3 | Open ATMs section | Switch to the Find Local ATMs page |
4 | Search ATMs | Creates 500 instances using the AQ_CsvConnectivityService and an external CSV file, then switches to the Confirm ATMs Found page. |
5 | Display Search Results | Opens the Display ATMs page where the previously created instances are displayed in an AQ_InstanceList with page size 20. |
6 | Go to the loan offers page | Navigates to the Loan Offers page. |
7 | Apply for prime offer | Updates an instance through the ‘AQ_InstanceUpdate’ service and navigates to the Loan Form page. |
8 | Open calculator | Opens the Borrowing Calculator page |
9 | Fill in fields (1) | Fills in the available page fields. Other conditional fields are presented to the user because of this action. |
10 | Fill in fields (2) | Fills in the newly available page fields. New fields are displayed because of this action. |
11 | Fill in fields (3) | Fills in the newly available fields on the page. |
12 | Calculate | Updates 3 instances belonging to separate entities using the ‘AQ_InstanceUpdate’ service and displays the calculation results to the user. |
13 | Go to first page | Returns to the Welcome page. |
14 | Open the loan offers page | Navigates to the Loan Offers page. |
15 | Apply for a fixed rate | Updates an instance through the ‘AQ_InstanceUpdate’ service and navigates to the Loan Form page |
16 | Fill in fields (4) | Fills in the available fields on the page. Some fields are refresh fields and have validations. |
17 | Fill in fields (5) | Fills in the available fields on the page. Some fields are refresh fields and have validations. |
18 | Fill in fields (6) | Fills in the available fields on the page. Some fields are refresh fields and have validations. |
19 | Continue | Navigate to the Personal Information page |
20 | Fill in personal form | Fill in all fields and navigate to the Document Upload page. |
21 | Upload file | Upload a file to certify the user's identity. As the upload is successful an ‘AQ_FileDownload’ container is generated on the page. |
22 | Download file | Download the previously uploaded file. |
23 | Submit request | Navigate to the Confirmation page. |
24 | Go to the loan offers page | Navigate to the Loan Offers page. |
25 | Log out | The user logs out. |
Application Interface
Screen | Content |
---|---|
Welcome | The welcome screen with 4 inline containers, 3 text items and 2 buttons. |
Find Local ATMs | A page with 2 inline containers, a text item and 2 buttons. |
Confirm ATMs Found | A page with 2 inline containers, a text item and 2 buttons. |
Display ATMs | Displays the nearby ATMs using an AQ_InstanceList with page size 20. Also contains 2 inline contains and 2 buttons. |
Loan Offers | The page contains dozens of containers and text items, each of them having presentation or content styles assigned. |
Borrowing Calculator | Contains 7 inline containers, 10 fields and 2 buttons. 5 fields are refresh fields, additional fields become available depending on the values entered into the refresh fields, using inline containers with preconditions. |
Loan Form | Contains 3 inline contains, 1 texxt item, 3 buttons and 8 fields. 3 fields are refresh fields with validations. |
Personal Information | Contains 2 inline containers, 2 buttons and 16 fields. 4 fields are refresh fields. 2 fields have preconditions and are shown or hidden based on the information entered in the refresh fields. |
Document Upload | Contains 4 inline containers, 2 text items, 1 button, an AQ_File_Upload container and intially zero AQ_File_Download containers. When a file is uploaded, a new AQ_File_Download container is displayed, using a repeat expression. |
Confirmation | Contains a logout text item, a text item confirming the completion of the loan request and a button which leads back to the Loan Offers page. |
3 Simulating application usage
The simulation which is executed on the application during the performance test scenario depends on two variables:
- the user load that must be simulated on the system during the test
- the total duration of the test execution
The user load is a constant number of users (threads), with a rampup time of 5 minutes. The user load is different based on the session store type being used:
- memory session store: 450 users
- redis session store: 800 users
After the 5 minute ramp-up, the load is sustained for one hour.
4 Test environment
For the performance tests a typical hardware configuration is used that consists of two separate servers for the Runtime and JMeter. The specification of the test environment is described in the test reports.