Jazz Library ClearCase Version Importer Performance Report in Rational Team Concert 4.0.5
Author name

ClearCase Version Importer Performance Report in Rational Team Concert 4.0.5

The ClearCase Version Importer is a new feature of Rational Team Concert 4.0.5. It can migrate all the versions in any branches in Rational ClearCase in a single operation, and the version branching is also replicated in Rational Team Concert source control. This document provides some considerations to migrate the data efficiently, and it also provides performance data that you can refer to.

For more information, see Using the ClearCase Version Importer.

Performance considerations

Estimate the volume of data to migrate

You first need plan how much data to migrate. Planning allows you to estimate how long it will take to migrate the data. There are a couple of useful numbers to measure. One is the number of versions, and another is the number of files and folders.

You can run the following Rational ClearCase command to get the number of versions:

cleartool lshistory -recurse <root path to import>  

Use the Linux word count (wc) command or a text editor to count the number of output lines that are generated.

To assess the number of files and folders in a VOB, run the following Rational ClearCase command:

cleartool ls -recurse <root path to import>  

Again, use the Linux word count (wc) command or a text editor to count the number of output lines that are generated.

Decide the Rational Team Concert component structure

Use the migration as an opportunity to refactor the component structure. It is recommended that you not have more than 100,000 files and folders in single component (see Collaborative Lifecycle Management 2012 Sizing Report (Standard Topology E1)). The number of files and folders in a single component impacts the performance of the migration, as well as the source control operation performance. This is also the case when the number of files and folders are less than 100,000.

It is recommended that you identify the subfolders in a VOB, which distinguishes it as a component, and import them into separate Rational Team Concert components. After the migration, you can configure multiple components for your stream or load multiple components into your sandbox. The Rational Team Concert load rule allows you to configure your sandbox when it is loaded.

Factor in VOB server cleartext pool

The export command accesses all the file versions in your VOB, and the performance depends on the VOB server cleartext pool. If your versions have been accessed recently, the export command can use the cleartext cache and work faster. If the VOB has not been accessed recently, the performance of the export command is slower.

Schedule system outage for developers?

Neither the export command or the import command requires exclusive access to the respective servers. You can access the Rational ClearCase system while the export command is running. You must not access the dynamic view that the export command is using, but developers can use other views. In addition, the command does not lock any VOB objects.

Similarly, you can access the Rational Team Concert while the import command is running. You must not access the stream or component that the import command is using, but developers can use other streams, components, or any other functions of Rational Team Concert.

Migrate VOBs in parallel

You can expedite the migration by running the export and import commands in parallel. The extent that you can accelerate the migration depends on your Rational ClearCase server or Rational Team Concert server configuration. Also, if you run multiple commands in parallel, it might have performance impact to other users who actively accesses either system.

The migration does not support running multiple import commands into a single component in parallel. As long as they are separate Rational Team Concert components, you can run the command in parallel.

Note: The performance data below is not running the commands in parallel.

Performance data in Rational Team Concert 4.0.5

This section gives you can idea about how long it takes to import files and folders using the importer, although this example is not a benchmark. Your performance also varies with the speed of the server host, database type, and the client host that you use. Additional data will be provided in the future as available.

Note: The table shows an average time to import or export per version. The number varies by test case because there are several other factors that contribute to the duration (such as cleartext pool cache or the number of files and directories in single Rational Team Concert component).

Environment data:

Machine A
  • CPU : Intel Core i5-3550 CPU @ 3.30GHz
  • Memory : 8GB
  • Operating System : Windows 7 64bit
  • Application Server : Tomcat 7
  • Repository Database : DB2 10.1
  • ClearCase version : 8.0.1
Machine B
  • CPU : Intel Core i7-2600 CPU @ 3.4GHz
  • Memory : 8GB
  • Operating System : Windows 7 64bit
  • Application Server : Tomcat 7
  • Repository Database : DB2 10.1
  • ClearCase version : 8.0.0.5

The ClearCase VOB servers are remote, but everything else (database, application server, and export/import commands) runs on each single machine.

The following table shows the performance data measured on these two environments.

Folder Name # of Elements (Folders/Symbolic Links/Files) # of File versions Export Duration in hours (in seconds) Average Export time per version in seconds Import Duration in hours (in seconds) Average Import time per version in seconds
Machine A
atrialibtbs 70 (2/2/66) 9,819   (3660s) 0.373   (1,260s) 0.128
atrialibvob 414 (0/2/412) 84,559 9h35m (34,500s) 0.408 5h54m (28,440s) 0.336
appletsucc 3,222 (589/40/2,593) 119,100 19h33m (70,380s) 0.59 13h58m (50,280s) 0.42
Machine B
atrialibtbs 85 (0/3/82) 10,709   (4,171s) 0.389   (1,293s) 0.12
appletsucc 3,222 (589/40/2,593) 119,098 26h17m (94,616s) 0.79 9h01m (32,479s) 0.27
JavaWindows 8,326 (1,111/1/7,214) 14,507 4h23m (15,770s) 1.08 2h02m (7,317s) 0.50
JavaHPUX 18,340 (1,925/89/16,326) 32,722 9h20m (33,618s) 1.02 9h02m (32,525s) 1.02
JavaLINUX 28,546 (3,777/238/24,531) 49,037 17h34m (63,224s) 1.29 18h45m (67,497s) 1.37
JavaSolaris 28,903 (3,151/163/25,589) 71,186 19h03m (68,851s) 0.963 22h19m (80,324s) 1.12

For more information

Fri, 06 Dec 2013