r5 - 2015-12-17 - 06:52:43 - Main.bjsuhuiYou are here: TWiki >  Deployment Web > DeploymentPlanningAndDesign > PerformanceDatasheetsAndSizingGuidelines > RTCSystemZPerformanceTesting > RTCEEDepBuildTests > RTCEEIncrementalBuildComparisonBetweenReleasesForIBMi

new.png Rational Team Concert For IBMi Incremental Build Performance Comparison Between Releases

Authors: LuLu SuHui
Date: June 29, 2015
Build basis: Rational Team Concert for IBMi 5.0.2, 6.0, 6.0.1

Introduction

This report compares the incremental build performance of RTC for IBMi between releases since v5.0.2 until v6.0.1. Generally constant performance improvements are made into releases of RTC for IBMi. The objective of this report is to present the improvements.

The performance data provided is obtained by benchmark test of each release. The report includes build duration and links to the detailed build activities.

Disclaimer

The information in this document is distributed AS IS. The use of this information or the implementation of any of these techniques is a customer responsibility and depends on the customerís ability to evaluate and integrate them into the customerís operational environment. While each item may have been reviewed by IBM for accuracy in a specific situation, there is no guarantee that the same or similar results will be obtained elsewhere. Customers attempting to adapt these techniques to their own environments do so at their own risk. Any pointers in this publication to external Web sites are provided for convenience only and do not in any manner serve as an endorsement of these Web sites. Any performance data contained in this document was determined in a controlled environment, and therefore, the results that may be obtained in other operating environments may vary significantly. Users of this document should verify the applicable data for their specific environment.

Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual throughput or performance that any user will experience will vary depending upon many factors, including considerations such as the amount of multi-programming in the userís job stream, the I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve results similar to those stated here.

This testing was done as a way to compare and characterize the differences in performance between different versions of the product. The results shown here should thus be looked at as a comparison of the contrasting performance between different versions, and not as an absolute benchmark of performance.

What our tests measure

We use predominantly automated tooling such as Rational Performance Tester (RPT) to simulate a workload normally generated by client software such as the Eclipse client or web browsers. All response times listed are those measured by our automated tooling and not a client.

The diagram below describes at a very high level which aspects of the entire end-to-end experience (human end-user to server and back again) that our performance tests simulate. The tests described in this article simulate a segment of the end-to-end transaction as indicated in the middle of the diagram. Performance tests are server-side and capture response times for this segment of the transaction.

schematicperformancetestmap.jpg

Findings

Based on the test data, incremental build performance of the RTC for IBMi has improved significantly from 5.0.2 to 6.0.

From 5.0.2 to 6.0, "Collecting buildable files" activities during build preprocessing is the main improved activities based on the new buildmap mechanism.

From 6.0 to 6.0.1, "Collecting buildable files" activities has an improvement of about 60% for incremental build with all the RPG files changed. "Updating dependency data" has an improvement of more than 60%, which is a result of performance improvement of source code data scan.

Topology

The tests are executed in a Single Tier Topology infrastructure like the one in the following diagram:

Single Tier Topology: IBMi

singleTierRTCEETests_IBMi.jpg

The RTC server was set up based on WebSphere and DB2 on IBMi. The build machine with Rational Build Agent was on IBMi.

Test Environment
RTC Server Operating System & Version: IBMi v7.1
System Resource : 4 dedicated processors, 30GB memory
CLM: from 5.0.2 GA to 6.0.1 GA, 6 GB heap size
DB2: DB2 for IBMi v7.1
WAS: 8.5.5.3(from 5.0.2 GA to 6.0 GA), 8.5.5.7(from 6.0GA to 6.0.1 GA)
Build Forge Agent Operating System & Version: IBMi v7.1
System Resource: 4 dedicated processors, 30GB memory
Build System Toolkit: from 5.0.2 GA to 6.0.1 GA

Methodology

Build time and individual activity time are compared by getting test start date and time.

The sample projects for the test are:

  • Mortgage Application *100
  • Mortgage Application *1000

Test Data
Sample Project Maillist *100 Maillist *1000
Assets 500 RPGLE
200 SRVPGM
100 PGMSRC
4 DSPF
4 LF
2 PF
6 CLLE
1 * CLP
5000 RPGLE
2000 SRVPGM
1000 PGMSRC
4 DSPF
4 LF
2 PF
6 CLLE
1 * CLP
Total Assets 817 buildable file 8017 buildable file

In the repository the source code is stored in one stream with one single component.

Enterprise builds are executed twice against each version.

Test Scenario Description

After a complete build of all the programs, different changes are performed and a rebuild requested. These requests will rebuild the changed programs and impacted ones.

Test Scenario Description
Incremental Build 1. Change one RPG file and request build
2. Change all RPG files and request build

Results

Note : since 6.0.1 benchmark , we have replaced our IBMi performance testing LPARs and new performance baselines are created. 6.0 benchmark have been re-run to compare on identical hardware.

Run duration & Build Activities

The charts below show the run duration comparison from 5.0.2 to 6.0, and from 6.0 to 6.0.1. Builds are run twice against each release and the average time is taken for comparison. From 5.0.2 to 6.0, the 'preprocessing' of the build time is improved greatly when changing all buildable files, 'collecting buildable file' activity is improved almost 97%, total build time under this scenario is improved almost 68%.

From 6.0 to 6.0.1, "Collecting buildable files" activities has an improvement of about 60% for incremental build with all the RPG files changed. "Updating dependency data" has an improvement of more than 60%.

Links to the individual pages are provided for the detailed build activities.

Change one RPG file and execute build

oneRPG.gif oneRPG_2.png

Detailed build activities comparison for this test scenario "Change one RPG file and execute build" can be found here.

Change all RPG files and execute build

allRPGs.gif allRPGs_2.png

Detailed build activities comparison for this test scenario "Change all RPG files and execute build" can be found here.

Appendix A - Key Tuning Parameters

Product
Version Highlights for configurations under test
IBM WebSphere Application Server 8.5.5.3 (5.0.2GA to 6.0GA), 8.5.5.7(from 6.0GA to 6.0.1 GA) JVM settings:

* GC policy and arguments, max and init heap sizes:

 -Xmn768m -Xgcpolicy:gencon -Xcompressedrefs -Xgc:preferredHeapBase=0x200000000
 -Xmx6g -Xms6g

DB2 DB2 for IBMi v7.1 Tablespace is stored on the same machine as IBM WebSphere Application Server
License Server Same as CLM version Hosted locally by JTS server
Network Shared subnet within test lab

About the authors

LuLu


Questions and comments:
  • What other performance information would you like to see here?
  • Do you have performance scenarios to share?
  • Do you have scenarios that are not addressed in documentation?
  • Where are you having problems in performance?

Edit | Attach | Printable | Raw View | Backlinks: Web, All Webs | History: r5 < r4 < r3 < r2 < r1 | More topic actions
 
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Contributions are governed by our Terms of Use. Please read the following disclaimer.
Ideas, requests, problems regarding the Deployment wiki? Create a new task in the RTC Deployment wiki project