r27 - 2014-10-22 - 06:48:13 - LuLuYou are here: TWiki >  Deployment Web > DeploymentPlanningAndDesign > PerformanceDatasheetsAndSizingGuidelines > RationalTeamConcertOnZOSPerformanceImpactAfterJavaJFSAPIAdoptionIn405

new.png Rational Team Concert for z/OS performance impact of Java JFS API adoption in 4.0.5

Authors: SuHui
Last updated: December 6, 2013
Build basis: Rational Team Concert on ZOS 4.0.5 & 4.0.4

Introduction

RTC for z/OS has recently introduced a Java API to access JFS (Jazz Foundation Services) instead of using the HTTP APIs which provides the potential for significant performance improvements.

This report compares the performance before and after RTC for z/OS adopted the Java JFS API in part of the resource operations and queries. 'Comparison is made between the 4.0.5 RC1 development version and the previous 4.0.4 release.

The test objective is to verify the performance improvement for the new Java JFS API adoption.

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 performance of the RTC for z/OS has improved significantly from 4.0.5 to 4.0.4 on some user scenarios:

  • The promotion time improved about 20% (50% of "Generating list of binaries to promote" time and 15% of "Finalize build maps")
  • A build property (team.enterprise.build.dependency.forceFullAnalysis) was added during team build to reflect the impact of the changed queries, the preprocessing build time shows an improvement of about 60%

For other scenarios performance stayed consistent between the two versions.

Topology

The RTC server was set up based on WebSphere and DB2 on Linux for System z. The build machine with Rational Build Agent was on zOS.

Test Environment
RTC Server Operating System & Version: Linux for System z (SUSE Linux Enterprise Server 10 (s390x))
System Resource : 10 GB Storage, 4 CPs (20000 mips, CPU type : 2097.710, CPU model: E12)
CLM: 4.0.5 RC1 (CALM-I20131009-0549), 4.0.4 GA (CALM-I20130806-2343), 4 GB heap size
DB2: 9.7.0.5
WAS: 8.0.0.3
Build Forge Agent Operating System & Version: z/OS 01.12.00
System Resource: 6 GB Storage, 4 CPs (20000 mips, CPU type : 2097.710, CPU model: E12)
Build System Toolkit: 4.0.5 RC1 (RTC-I20131009-0158), 4.0.4 GA (RTC-I20130803-2156)

The CLM deployment topology is derived from and is part of the standard E5 topology documented at (CLM-E5) Enterprise - zOS / Linux on System z / DB2. Unlike the E5 topology, DB2 is setup on the same LPAR as IBM WebSphere Application Server.

Enterprise_zOS_Linux_on_z_DB2_topology.png

Methodology

Build time and individual activity time were compared by getting test start date and time. For CPU and memory utilization monitoring tools NMON was used for RTC server and RMF on ZOS was used for Rational Build Agent.

The sample project for the test was Mortgage*100 which is 100 duplicates of the Mortgage sample application with 800 compiles.

In the repository the source code is stored in one stream with one single component which includes 4 zComponent Projects.

Each test scenario is executed twice against the two versions.

Test Scenarios

Test Scenario Description
RTC EE features 1. Request full dependency build
2. Request component-based promotion, after full dependency build in step 1 with 800 files
Incremental Build 1. Change a copybook (MortgageApplication-Common\zOSsrc\COPYBOOK\A00MTCOM.cpy) and request build
2. Change a COBOL file (MortgageApplication-EPSCMORT\zOSsrc\COBOL\A00CMORT.cbl) and request build
3. Change all copybooks and request build
Enterprise build with build property turned on to force full analysis Run enterprise build with build property team.enterprise.build.dependency.forceFullAnalysis=true
Concurrent build Change a COBOL file and run 5 personal builds concurrently

Results

Run duration

These data tables show the run duration comparing between 4.0.4 and 4.0.5 with the test start and completion time. The build time with full analysis enabled, promotion time, and the test build time after the promotion show the significant performance improvements.

The promotion time was reduced about 20%. Test build time after promotion was reduced by 35%. Build with team.enterprise.build.dependency.forceFullAnalysis property time reduced about 60%.

build_time.png promotion_time.png incremental_time.png concurrent_time.png

Build Activities

These data tables display the detailed build activity run time, improvements are contributed by "Collecting buildable files" in the build. "Generating list of binaries to promote" and "Finalize build maps" Activities are the major improvements for the promotion time. The improvements reflected the changing build map service in RTC for z/OS which adopted the Java JFS API.

activity_build.png activity_build_fullanalysis.png activity_promotion.png activity_incrementalbuild.png activity_concurrent.png

CPU and Memory for RTC server

This graph shows CPU and memory utilization for RTC server, data is collected by NMON tool. 4.0.4 and 4.0.5 show similar CPU and memory utilization.

404_server.png 405_server.png

CPU and Memory for Build Agent

This graph shows CPU and memory utilization for Build Forge Agent on ZOS machine, data is collected by RMF tool. 4.0.4 and 4.0.5 show similar CPU and memory utilization.

404_BFA.png 405_BFA.png

Appendix A - Key Tuning Parameters

Product
Version Highlights for configurations under test
IBM WebSphere Application Server 8.0.0.3 JVM settings:

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

 -Xmn512m -Xgcpolicy:gencon -Xcompressedrefs -Xgc:preferredHeapBase=0x100000000
 -Xmx4g -Xms4g
OS configuration:
* hard nofile 120000                    
* soft nofile 120000
Refer to http://pic.dhe.ibm.com/infocenter/clmhelp/v4r0m4/topic/com.ibm.jazz.install.doc/topics/c_special_considerations_linux.html for details
DB2 DB2 Enterprise Server 9.7.0.5 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

Related Links:

About the authors

SuHui


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: r27 < r26 < r25 < r24 < r23 | 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