White Papers
Abstract
This report provides performance benchmark test results of the Rational RequisitePro 7.1.1.1 release compared to the previous release Rational RequisitePro 7.1.1. This report covers product performance collected in a specific environment under specific test workloads. Product performance in other environments or under other conditions may be different.
Content
Rational RequisitePro Client for Web 7.1.1.1
Performance Test Comparison Report
Table of Contents
- Introduction
1.1 Document Terminology and Acronyms - Summary
- Test Environment and Conditions
3.1 Performance Testing Focus
3.2 Project Used in Test
3.3 Configurations Tested
3.4 Test Topology
3.5 Machine Specifications - User Simulation
4.1 User Load
4.2 Work Load - Detailed Performance Test Results
5.1 RequisiteWeb 7.1.1.1 testing results with 50, 75 and 100 active users
5.1.1 System Performance Execution Results
5.1.2 Analysis and Conclusion
5.2 Testing result comparison with RequisiteWeb 7.1.1.0
5.2.1 System Performance Execution Results
5.2.2 Analysis and Conclusion
This report provides performance benchmark test results of the Rational RequisitePro 7.1.1.1 release compared to the previous release Rational RequisitePro 7.1.1.
This report covers product performance collected in a specific environment under specific test workloads. Product performance in other environments or under other conditions may be different.
1.1. Document Terminology and Acronyms
| Term | Definition |
| ReqWeb | Rational RequisitePro client for Web (RequisiteWeb) |
| AMV/AMView | Attribute Matrix View |
| TMV/TMView | Traceability Matrix View |
| TTI | Traceability Tree (Traced Into) |
| RPT | Rational Performance Tester |
| VU | Virtual User |
| VP | Verification Point |
| ITDS | IBM Tivoli Directory Server |
| Doc | Document |
| Req | Requirement |
| Trace | Traceability |
| unTrace Matrix View | Rrepresent the other 2 types of views except "Trace Matrix View" |
In this RequisitePro client for Web (RequisiteWeb) version 7.1.1.1 performance benchmark test, the performance test team tested RequisiteWeb 7.1.1.1 against a customer database. All the tests are run on a stable workload with user simulation. A varying amount of test runs were run against each condition, based on the requirements, to produce meaningful characterization of the system under load. The hardware used for the application server and database server remained constant for all tests. The test environment also included hardware for the Rational Performance Tester workbench and agent machines; it also remained constant for all tests.
In this document, the performance data collected from this test was compared from the following perspectives:
- RequisiteWeb 7.1.1.1 performance comparison under 50, 75 and 100 active user loads
- RequisiteWeb 7.1.1.1 performance comparison with RequisiteWeb 7.1.1
Observations:
- For RequisiteWeb 7.1.1.1, the test results seem to be equal with 50 and 75 active users. When more than 75 users are active, the response times increase. The page element success rate remains acceptable (higher than 98%) throughout all the user load tests. Note: Using RequisiteWeb in a Load Balanced environment will support a higher number of users.
- Compared with RequisiteWeb 7.1.1, RequisiteWeb 7.1.1.1 has improved its overall performance very significantly.
3. Test Environment and Conditions
3.1. Performance Testing Focus
Performance testing focused on:
- RequisiteWeb performance with 50, 75 and up to 100 active users, against a customer database. For the database characteristics, please refer to Table 1.
- The traceability relationship/edition functions and performance bench marking.
3.2. Project Used in Test
The following table shows the details of project used.
Number of Requirement Types in Project | Number of Requirement Attributes in Project | Number of Requirements in Project |
14 | 164 | 10790 |
| # | Web Client (browser) | RequisitePro/RequisiteWeb Server | DB Server |
| 1 | Windows XP SP2 IE | Windows 2003 Server Enterprise R2 SP2 | Windows 2003 Server Enterprise R2 SP2 |

Figure 1: Test Topology
Role | Type | CPU | Memory | Product |
RequisitePro Server | X3650 | Xeon 5160, 3Ghz | 8G | RequisitePro 7.1.1.1 |
DB Server | X3650 | Xeon 5160*2, 3Ghz | 12G | Oracle 11g |
LDAP Server | WorkStation | Core Duo E6550, 2.33Ghz | 4G | ITDS 6.1 |
RPT Workbench | WorkStation | Core Duo E6550, 2.33Ghz | 4G | RPT 8.1 |
RPT Agent | WorkStation | Core Duo E6550, 2.33Ghz | 4G | RPT 8.1 |
The test collected RequisiteWeb server response times under multi-user loads. This table indicates the relative distribution of simulated users across the various user roles. The user counts used were 50, 75, and 100.
User Role | Percentage of Total | Related Actions |
Author | 30% | Create artifacts such as requirements, documents, views; comment on artifacts; create parent/child requirements relationships; search and remove requirements. |
Reviewer | 50% | View artifacts such as requirements, documents and views. Search for requirements, create, read and respond to discussions. |
Editor | 20% | View requirements in views. Search for a requirement, modify it and submit; add new “trace to” or “trace from” relationships to requirements. Mark and clear suspect state on traces. |
Total: | 100 % |
This table describes the distribution of specific operation sequences for each user role (full allocation of 100% for each role). The percentage next to each corresponding action represents the portion that sequence has out of 100 for that user role.
| User Role | Percentage | Sequence of Operations |
| Author | 20% | Create a requirement from project explorer and submit: The VU logs in, randomly expand package, then performs 3 loops over the following steps: Create a new requirement, fill in the necessary info and submit it. |
| 30% | Create a child requirement for an existing requirement: The VU logs in, searches requirements from the text search field, and then performs 3 loops over the following steps: Select one of the requirements in the results list, open it; create a child requirement for it and submit it; add a new discussion for the new child requirement, then save it. | |
| 5% | Delete a requirement via search: The VU logs in, then performs 3 loops over the following steps: search for a requirement, such as “Catalog Size”, open it for review, then delete it and generate a new parent tag for its all direct children. | |
| 10% | Create a view: The VU logs in, selects the button “Create view”, selects the requirement type, fills in the necessary info with no filter, and then submit it. | |
| 35% | Create a requirement in an online document: Create a document in RequisiteWeb with the necessary info; edit this document and create requirements by marking text within the document, then save the document. Refresh the browser after closing the document. | |
| Editor | 25% | Modify requirements and submit: The VU logs in, randomly expands a package, and then performs 3 loops over the following steps: search from the text search field, randomly select one requirement from the results list, add a new discussion and submit it. |
| 10% | Modify requirements in an Attribute Matrix view: The VU logs in, randomly expands a package, selects and opens an Attribute Matrix view, then performs 3 loops over the following steps: randomly select one requirement and modify its attribute value, then submit it. | |
| 25% | Modify a document: The VU logs in, randomly opens a document and modifies requirement text within the document. Add and modify non-requirement text within the document. Save the document. | |
| 20% | Add “Trace to” to the requirement: The VU logs in, opens the Traceability Tree view, randomly expans a package, then performs 3 loops over the following steps: randomly select one requirement in the tree package, open it, then add a new “trace to” requirement on “traceability” tab. | |
| 20% | Add "Trace to" in mass via Traceability Matrix view: The VU logs in, randomly expands a package and opens the Traceability Matrix view, then multiselect requirement pairs in the matrix and add a "trace to" relationship. | |
| Reviewer | 40% | Expand a package and view a requirement: The VU logs in, then performs 3 loops over the following steps: randomly select a package and expand it, and then randomly select one requirement in the package and open it; view each tab of the requirement and then close it. |
| 20% | Open a Traceability Matrix view and view a requirement: The VU logs in, selects a Traceability Matrix view and opens it, then performs 3 loops over the following steps: randomly select one links in the table and open it; view each requirement in the link and then close. | |
| 10% | Search a new “Trace to” for a requirement: The VU logs in, searches from the test search field using a text string, then performs 3 loops over the following steps: randomly select one requirement in the results list, open it for review, select the “Traceability” tab, search for a new “trace to” requirement for it, mark it as suspect and submit. | |
| 30% | Open a document and view requirement properties: The VU logs in, randomly opens a document, and then performs 3 loops over the following steps: randomly select a requirement within the document, open the properties of the requirement, and then close. |
5. Detailed Performance Test Results
5.1. RequisiteWeb 7.1.1.1 testing results with 50, 75 and 100 active users
For observing the performance trend when active users increase in the RequisiteWeb 7.1.1.1 test, test cases were executed with 50, 75 and 100 users under the same conditions. The response time and element page success rate of each operation for different roles were considered in this part of test.
5.1.1 System Performance Execution Results
In the following testing results, the figures and tables within this section all contain three sets of testing results. The first one is against 50 active users; the second one is against 75 active users; the third is against 100 active users.
The following figure shows a basic comparison for 50, 75, and 100 active users against response time in RequisiteWeb 7.1.1.1 performance test.
Figure 2: 10 Average Page Response Time Comparisons for 50, 75 and 100 Active Users
The following table shows the page element success rate with different numbers of active users.
Active Users | 50 | 75 | 100 |
Total Page Element VPs Passed | 9,276 | 13,607 | 16,081 |
Total Page Element VPs Failed | 29 | 76 | 336 |
Percent Page Element VPs Passed | 99.7% | 99.4% | 98% |
The following three figures show the trend of response time when the number of active users increases separately against Author, Editor and Viewer roles.
Figure 3: Response Time Trend for Increasing Users [Author Part]
Figure 4: Response Time Trend for Increasing Users [Editor Part]
Figure 5: Response Time Trend for Increasing Users [Viewer Part]
From the above figures and table, the following points were observed:
(1). As a whole, the response time is not obviously changed when the number of users increases from 50 to 75 active users. It could be said that it is equal on performance under 50 and 75 active users.
(2). When the count of active users increases from 75 to 100, the response time increases quickly.
(3). The page element success rate shows a little bit of degradation when active users increases up to 100, but all rates were higher than 98%, which is acceptable in the test.
In conclusion for the RequisiteWeb 7.1.1.1 performance test, the test results seem to be equal under 50 and 75 active users. When more than 75 users are introduced, the response time increases. The page element success rate is acceptable (higher than 98%) up to 100 active users.
5.2. Testing result comparison with RequisiteWeb 7.1.1.0
The test results for RequisiteWeb 7.1.1.1 were compared to RequisiteWeb 7.1.1.0 in the same test environment.
5.2.1. System Performance Execution Results
The following figures and tables within this section all contain two sets of testing results. The former is based on RequisiteWeb 7.1.1.0, and the latter is based on RequisiteWeb 7.1.1.1.
The following figure shows a basic comparison for response times between RequisiteWeb 7.1.1.0 and 7.1.1.1.
Figure 6: 10 Average Page Response Time Comparisons [RequisiteWeb 7.1.1.0 VS. 7.1.1.1]
The following table shows the results for each operation with 50 users, and compares results for RequisiteWeb 7.1.1.0 and 7.1.1.1.
| Page | Response Time [seconds] | ||
| Average | |||
| 7.1.1.0 | 7.1.1.1 | Compare | |
| Author Create Child Requirement -> Add Discussion to Child Requirement | 18.01 | 8.90 | 50.6% |
| Author Create Child Requirement -> Create a Child Requirement | 56.20 | 8.55 | 84.8% |
| Author Create Child Requirement -> Search Requirement | 85.81 | 10.12 | 88.2% |
| Author Create Req in Doc -> Add Req and Save | 0.65 | 0.29 | 54.7% |
| Author Create Req in Doc -> Create Doc | 14.79 | 11.77 | 20.4% |
| Author Create Req in Doc -> Edit Doc | 9.45 | 8.87 | 6.2% |
| Author Create Req in Doc -> Expand Package | 0.92 | 0.73 | 20.4% |
| Author Create Req in Doc -> Refresh | 7.01 | 5.90 | 15.8% |
| Author Create Requirement -> Create Requirement | 17.27 | 4.55 | 73.6% |
| Author Create View -> Create Trace Matrix View | 18.69 | 4.11 | 78.0% |
| Author Create View -> Create Attribute Matrix View/Trace Tree Into View/Trace Tree From View | 11.12 | 4.08 | 63.3% |
| Author Delete Requirement -> Delete Requirement | 1.73 | 2.57 | -48.6% |
| Editor Modify Req in Doc -> Edit Doc | 4.29 | 2.02 | 52.9% |
| Editor Modify Req in Doc -> Expand Package | 0.40 | 0.31 | 22.0% |
| Editor Modify Req in Doc -> Open Doc | 1.35 | 0.83 | 38.2% |
| Editor Modify Req in Doc -> Refresh | 3.36 | 1.81 | 46.2% |
| Editor Modify Requirement -> Create Discussion | 19.56 | 10.61 | 45.8% |
| Editor Modify Requirement -> Expand Package 'Requirement' | 0.40 | 0.32 | 19.4% |
| Editor Modify Requirement -> Search Requirement | 17.37 | 4.20 | 75.8% |
| Editor Modify Requirement In AMV -> Modify Requirement | 22.76 | 3.03 | 86.7% |
| Editor Modify Requirement In AMV -> Random Select a Requirement | 18.71 | 7.07 | 62.2% |
| Editor Modify Requirement In AMV -> RequisiteWeb_PackageExplorer_Page | 0.51 | 0.35 | 32.4% |
| Editor Modify Requirement In TMV -> Add Traceto in Mass | 31.66 | 1.92 | 93.9% |
| Editor Modify Requirement In TMV -> Delete Traceto in Mass | 38.43 | 2.18 | 94.3% |
| Editor Modify Requirement In TMV -> Open Trace Matrix View | 6.58 | 3.03 | 53.9% |
| Editor Modify Requirement In TMV -> Random Select Requirement | 4.75 | 1.98 | 58.4% |
| Editor Modify Requirement In TTI -> Add Traceto | 26.66 | 3.91 | 85.4% |
| Editor Modify Requirement In TTI -> Delete Traceto | 14.87 | 1.49 | 90.0% |
| Editor Modify Requirement In TTI -> Open a Requirement | 14.96 | 3.48 | 76.8% |
| Editor Modify Requirement In TTI -> Open Trace Tree Into View | 4.67 | 2.62 | 43.8% |
| Editor Modify Requirement In TTI -> Random Select Requirement | 5.86 | 3.21 | 45.2% |
| homepage | 0.76 | 0.97 | -27.4% |
| login | 11.61 | 8.51 | 26.7% |
| Logout | 1.22 | 1.06 | 13.5% |
| view_openAMView -> Expand Package "view" | 0.31 | 0.30 | 2.2% |
| view_openAMView -> Open one Attribute Matrix View | 29.22 | 6.87 | 76.5% |
| view_openAMView Large -> Expand Package "view" | 2.41 | 0.37 | 84.6% |
| view_openAMView Large -> Open one Attribute Matrix View | 89.89 | 34.97 | 61.1% |
| Viewer Expand Package and View Requirement -> Expand Package 'Requirement' | 0.45 | 0.33 | 26.9% |
| Viewer Expand Package and View Requirement -> View Requirement | 14.66 | 2.88 | 80.4% |
| Viewer Open Doc and View Req -> Expand Package | 0.004 | 0.011 | |
| Viewer Open Doc and View Req -> Open Doc | 0.011 | 0.013 | |
| Viewer Open Doc and View Req -> View Req | 0.003 | 0.003 | |
| Viewer Open TMView and View Requirement -> Expand Package "view" | 0.37 | 0.31 | 16.9% |
| Viewer Open TMView and View Requirement -> Open one Traceability Matrix View | 14.95 | 9.70 | 35.1% |
| Viewer Open TMView and View Requirement -> Open Requirement From View Table Link | 93.01 | 23.71 | 74.5% |
| Viewer Open TMView and View Requirement Large -> Expand Package "view" | 0.32 | 0.31 | 0.5% |
| Viewer Open TMView and View Requirement Large -> Open one Traceability Matrix View | 7.92 | 4.71 | 40.5% |
| Viewer Open TMView and View Requirement Large -> Open Requirement From View Table Link | 33.93 | 5.64 | 83.4% |
| Viewer Search Requirement and Add TraceTo -> Browser to Find TraceTo Requirement | 2.17 | 0.46 | 78.6% |
| Viewer Search Requirement and Add TraceTo -> Refresh | 13.40 | 2.45 | 81.7% |
| Viewer Search Requirement and Add TraceTo -> Remove TraceTo | 14.27 | 1.23 | 91.4% |
| Viewer Search Requirement and Add TraceTo -> Search and List All Available Requirements | 4.22 | 0.50 | 88.1% |
| Viewer Search Requirement and Add TraceTo -> Search and Select one Requirement | 15.00 | 2.16 | 85.6% |
| Viewer Search Requirement and Add TraceTo -> Submit TraceTo | 13.22 | 3.65 | 72.4% |
5.2.2. Analysis and Conclusion
Based on the figures and table above, RequisiteWeb 7.1.1.1 has improved its overall performance very significantly, compared with RequisiteWeb 7.1.1.0.
It's also worth noting that each test case was run more than 5 times and the test results were stable, that is, the results were reproducible.
Was this topic helpful?
Document Information
Modified date:
17 June 2018
UID
swg27019877