r33 - 2015-05-26 - 18:22:02 - StephanieBagotYou are here: TWiki >  Deployment Web > DeploymentTroubleshooting > PerformanceTroubleshooting > RTCClientPerformance

Why is the Rational Team Concert client slow?

Authors: PerformanceTroubleshootingTeam
Build basis: RTC 4.0.1

This page includes information that will help you determine why your IBM Rational Team Concert client is slow or not responding and help you understand which components contribute the most to the problem.

Initial assessment

Symptoms

  • When you use the Rational Team Concert Eclipse client, the response times are long, or the tool becomes unresponsive.

Impact/scope

  • What specific operations are slow?
  • Does the operation eventually complete, or is the tool indefinitely unresponsive (hung)?
  • Does it affect only one, or multiple client installations?
    • Where are the installations that are affected by the problem compared to those that perform acceptably?
  • Does it affect the Client for Eclipse IDE, or the Client for Eclipse IDE - Extension Install?
    • Does it happen only if the Client for Eclipse IDE - Extension Install - is installed in an Installation Manager package group that contains other products? If so, which products are shell-sharing?
      (You can see this by launching the shortcut IBM Installation Manager > View Installed Packages)
    • Does it happen only when there are third-party plug-ins installed on the client for Eclipse IDE?
      (You can gather the list of installed plug-ins by launching the Client for Eclipse IDE > Help > about > Installation Details > Configuration. Then press Copy to clipboard and paste into a text file).
    • Does it happen in only one specific Eclipse workspace?
  • Does it affect the Client for Microsoft Visual Studio IDE?
  • Does it affect the Rational Team Concert Windows shell integration?
  • Does it affect the SCM Command Line Interfaces (CLI)?

Environmental changes

  • What sort of things might have changed in the environment (outside the products)?
    • Think broadly about hardware, software, network, client.

Recommended data-gathering and subsequent analysis steps

Client for Eclipse IDE: Slow response

  • You should start by investigating whether the performance issue is caused by the client-server interaction.

  • If you know that the web client is performing the same actions much faster than the Eclipse client, investigate the client itself in more detail. The following data-gathering techniques are listed in order of increasing complexity.
    • The Eclipse workspace log, located in: workspace\.metadata\.log can offer a starting point for the investigation of local client issues. Verify if the times of any listed exceptions match the time of occurrence of the observed performance issue. The names of the Java packages involved in the exceptions provide an indication of the components involved.
    • Many operations run as background jobs in Eclipse (for example: validation, indexing). You can get an idea of what background jobs are running by launching:
      • Window > Show View > Progress
      • Click on the triangle pointing towards the bottom, on the toolbar of the Progress View.
      • Select Preferences > Show System and sleeping operations. The Progress View will show you what background jobs might be using CPU cycles and slowing down the progress of User Interface thread that runs the user requested operations.
    • In some cases, based on the nature of the initial errors you see in the workspace\.metadata\.log, or the list of background jobs in the Progress View, enable additional tracing in the Client for Eclipse IDE.
    • If you need to investigate the performance of the Client for Eclipse IDE down to the level of measuring the execution times of individual method calls, you can use various techniques to profile the Client for Eclipse IDE.
    • In case the Client for Eclipse IDE is installed together with other products or plug-ins, extend the tracing or profiling options listed in the above links to include operations initiated by such other products or plug-ins. However, profiling and tracing are resource-intensive operations, so you should have a specific idea of what needs to be traced or profiled to reduce the amount of data that needs to be collected and analyzed.

Client for Eclipse IDE: Hangs

  • If the Client for Eclipse IDE is unresponsive (hanging): you must gather at least three JavaCores at some time interval (depending on the total duration of the slow operation, the interval could range from a few seconds to one or more minutes).
    1. To generate the JavaCores:
      • UNIX or Linux:
        1. Find the process ID of the Client for Eclipse IDE, by running ps -ef |grep javaw
        2. Execute the command kill -3 pid where pid is the process ID identified above
      • Windows: the first two methods described in the technote MustGather: Java Application Hangs are applicable to the case of the Client for Eclipse IDE.
    2. Once you have gathered the JavaCores, you can analyze them with the IBM Support Assistant, by adding the IBM Thread and Monitor Dump Analyzer for Java (TMDA). Alternatively, you can use WAIT.

Client for Microsoft Visual Studio IDE

Rational Team Concert Windows shell integration for Microsoft Windows Explorer

  • If the issue occurs in the Rational Team Concert Windows shell integration for Windows Explorer, configure logging as follows:
    1. Open Microsoft Windows Explorer
    2. Open the Rational Team Concert Shell Control Panel
    3. Select Manage Preferences >Other Preferences in the Control Panel
    4. Set the Trace Level to Info or Verbose. See the following image:
      WinExplorerIntegration_4.0.1small.jpg
    5. For the location of the log files, from the Rational Team Concert Shell Control Panel, click on Help and select: Open Log File, Save Log Files, as in the following screenshot:
      WinExplorerIntegrationFiles_4.0.1small.jpg

Command line interfaces (CLIs)

Possible causes and solutions

The following recommendations are generally applicable:

Start a new Eclipse workspace

If the issue occurs in only one Eclipse workspace, it may be ideal to create a new workspace. Over time, the metadata, for example log and history files, accumulates in the workspace .metadata directory and negatively impacts performance. After a new workspace is created, you should import all of your projects into the new workspace. Note that preferences may be workspace-specific and may be reset to their default values.

System performance

The Rational Team Concert client needs fast access to the disk(s) where the installation is located and where the Eclipse .metadata folder and the projects are stored. This applies also to the Sandbox that you use with the Windows shell integration. Anything that slows this down (disk fragmentation, access to a remote disk, Antivirus) can affect performance.
  • Defragment the disk where the installation, the Eclipse workspaces, the projects, and the sandbox are stored.
  • Make sure that the installation and the Eclipse workspaces are stored locally (not on a remote disk).
  • Antivirus software processes that provide real-time protection or monitoring scan files each time that they are loaded into system memory. This scanning activity can negatively impact the performance of any product function that loads large amounts of data into system memory. Examples of product functions that might be negatively impacted by real-time scanning are startup and (automatic) build. Verify if the Antivirus has significant impact, by testing the same functions with real-time scanning of the Eclipse workspace or of the sandbox switched off.

Related topics:

External links:

Additional contributors: None

Edit | Attach | Printable | Raw View | Backlinks: Web, All Webs | History: r33 < r32 < r31 < r30 < r29 | 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