Question & Answer
Question
How do I monitor CCRC WAN Server and tune its settings for parallel loading of web views?
Answer
Note: the content of this technote has been incorporated into the ClearCase version 8.0 Information Center, as updated for version 8.0.0.1. See http://publib.boulder.ibm.com/infocenter/cchelp/v8r0m0/index.jsp.
ClearCase V8.0 introduces parallel loading of web views, which is enabled by default. It also supports serial loading of web views, which is available by changing the CCRC WAN Server or client configuration options.
About serial loading
When a web view client loads or updates a web view in serial mode, it retrieves one file at a time and processes it before proceeding to the next file. Serial mode uses fewer resources on the client and server, but usually takes longer to complete. This is how loads and updates worked prior to V8.0.
About parallel loading
During a parallel-mode web view load or update, the client performs multiple file transfers and manages file updates and metadata updates at the same time. By retrieving multiple files in parallel, the client can reduce its overall elapsed time spent loading or updating the view. However, this reduced time comes at a cost of more resources used on the client and on the CCRC WAN Server while the load/update is in progress.
Parallel loading uses multiple Java threads and multiple network connections to transfer files during a load/update. The server configuration determines the maximum number of threads (i.e. number of parallel file transfers) used. The server configuration can disable parallel loads for all users of a server. This option can also be disabled on a per client basis. Each individual client can be configured to reduce the number of threads used, or to disable parallel loads.
Each thread used for loading files uses an extra network connection, an extra process on the CCRC WAN server, and an extra process on the VOB database server. When you have many users loading views at the same time, be sure to configure your CCRC WAN server and VOB server with enough resources (such as main memory) to handle the peak demand. You may also need to increase the limits of simultaneous operations for the CCRC WAN server (ccrcMaxRequestsOverall) and VOB server (lock manager settings). For details on changing these values, see CCRC WAN server tuning Tech note 1514940 and VOB server lock manager parameter tuning Tech note 1125258.
The network characteristics (bandwidth and round-trip latency) between the client and server influence the performance of parallel and serial loads. Generally speaking, a higher latency connection requires more parallel threads to perform as well or better than a serial load on the same connection. On a lower latency connection, fewer threads are needed for parallel loads to perform as well or better than serial loads. The default number of parallel load threads provides speed-up of loads in typical CCRC WAN Server deployments. For details on measured performance gains from parallel loads, see document 7023087.
CCRC WAN Server resources to monitor
On Windows, if you experience ClearCase processes (such as ccbe.exe or view_server.exe or tfdmgr.exe) failing to start with error code 0xc0000142, you may be out of desktop heap. See Tech note 1142584 for more guidance on adjusting desktop heap.
On all systems, look at free main memory (RAM). If the system is running low on free memory, you may need to reduce the overall limit of active CCRC requests or reduce the number of threads per load operation.
Symptoms, next steps, and potential remedies
Client gets error code 500 while loading a view | See the WAS logs for the profile hosting the CCRC WAN Server application. |
Client gets error code 404 while loading a view | See the db_server log on the VOB server host for the VOB that failed to load an element. Adjust VOB database lock manager parameters. |
Client gets connection reset while loading a view | See the WAS logs for the profile hosting the CCRC WAN Server application. |
Server WAS log shows error reading from back-end | Server may be overloaded; decrease ccrcMaxRequestsOverall or ccrcMaxRequestsPerSession, or reduce peak demand by spreading out web view load operations |
Server WAS log shows write time-outs | Reduce load on CCRC WAN Server, or increase IHS KeepAliveTimeout value or WAS channel write time-out (see tuning guidelines in tech note # 1514940) |
About tuning of parallel loads
If your clients are not loading views as quickly as desired, you can try increasing the thread count on the server. Be sure to monitor the system resources on the CCRC WAN and VOB server. Check that the extra processes started for the clients do not result in server resource exhaustion. If the extra processes take too many server resources, you can decrease the thread count or disable parallel loading (reverting to serial load behavior).
If most clients see performance improvements in web view loading, but some of them do not, you can change the parallel load options for those specific clients. You can disable parallel loads, or you can reduce the number of threads used for parallel loading.
Determining whether parallel loads are enabled or disabled
Server Configuration | Client Configuration | Effective configuration |
Enabled (ccrcSupportsParallelLoad is either not set or set to true in server.conf) | Default | Parallel loads enabled |
Disabled (ccrcSupportsParallelLoad = false in server.conf) | N/A (server configuration takes precedence) | Parallel loads disabled |
Enabled | Disabled (see instructions below) | Parallel loads disabled |
Determining the number of files loaded in parallel
Server Configuration | Client Configuration | Number of files loaded in parallel |
ccrcMaxRequestsPerSession in server.conf | default | ccrcMaxRequestsPerSession - 3 |
ccrcMaxRequestsPerSession defined | maxRequestsPerSession defined (see instructions below) | client setting - 3, if client value < server value server setting - 3, if client value >= server value |
How to tune parallel load related settings
The server administrator can disable parallel loading for all clients, or change the number of threads each client uses to load files in parallel.
- Note: If the server disables parallel loads, clients cannot override this setting. They will load files serially.
- Visit the CCRC WAN Server settings page (http://<SERVER URL>/ccrc/admin/settings) in a browser.
- Take note of the file name listed at the top of the page.
- Edit that file, adding these settings:
- ccrcSupportsParallelLoad = false
- ccrcMaxRequestsPerSession = 7
- Reload the settings page in your browser (this causes the CCRC WAN server to reload the settings).
- Have all ClearTeam Explorer users disconnect and reconnect (this forces them to retrieve the new settings from the server), or restart the WAS profile hosting the CCRC WAN server (clients will reconnect on their next server access).
To change the number of threads used by all clients when loading files in parallel, edit the server.conf file on the CCRC WAN server host:
- Visit the CCRC WAN Server settings page (http://<SERVER URL>/ccrc/admin/settings) in a browser.
- Take note of the file name listed at the top of the page.
- Change the value of ccrcMaxRequestsPerSession. Each client will use ccrcMaxRequestsPerSession – 3 threads to retrieve web view contents in parallel. Monitor your server and adjust this value if necessary to avoid overwhelming the server when many users are loading web views at the same time.
- Reload the settings page in your browser (this causes the CCRC WAN server to reload the settings)
- Either:
- Have all ClearTeam Explorer users disconnect and reconnect (this forces them to retrieve the new settings from the server), or
- Restart the WAS profile hosting the CCRC WAN server (clients will reconnect on their next server access).
To disable parallel loading of web views for a single client:
On the client, edit the initialization file for the GUI to set a Java property that disables parallel loading:
- ClearTeam explorer (CTE) GUI:
- Navigate to the RemoteClient subdirectory inside the ClearCase installation directory (e.g. /opt/rational/clearcase/RemoteClient or C:\Program Files\IBM\RationalSDLC\ClearCase\RemoteClient).
- Edit ctexplorer.ini
- Add these two lines at the end (each option must be specified on a separate line):
- Restart ClearTeam Explorer
- Find the .ini file in the same directory as the executable file that runs the GUI. For example, if the GUI runs eclipse.exe (Windows) or eclipse (the UNIX system and Linux), then edit eclipse.ini
- If there is no -vmargs line in the file, add one at the end, on a line by itself.
- After the line containing "-vmargs", at the end of the file, add this on a line by itself:
- Restart Eclipse
-vmargs
-Dcom.ibm.rational.ccrc.disableParallelLoad
Eclipse shell or other Eclipse based GUI extended with CTE plugin:
-Dcom.ibm.rational.ccrc.disableParallelLoad
To reduce the number of threads used to retrieve web view contents, on a single client:
- Follow above instructions to find the .ini file
- Add the following line after the -vmargs line, replacing <number> with the number of threads you want to use for parallel loading (each option must be specified on a separate line):
- Restart the client (CTE or Eclipse)
-Dcom.ibm.rational.ccrc.maxRequestsPerSession=<number>
Note: If the number is greater than the server's configured value (ccrcMaxRequestsPerSession), or less than 3, the server's thread count will be used.
Related Information
[{"Product":{"code":"SSSH27","label":"Rational ClearCase"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Component":"CCRC WAN Server","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF010","label":"HP-UX"},{"code":"PF016","label":"Linux"},{"code":"PF027","label":"Solaris"},{"code":"PF033","label":"Windows"}],"Version":"8.0","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}},{"Product":{"code":"SSSH27","label":"Rational ClearCase"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Component":"ClearCase Remote Client","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF010","label":"HP-UX"},{"code":"PF016","label":"Linux"},{"code":"PF027","label":"Solaris"},{"code":"PF033","label":"Windows"}],"Version":"8.0","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]
Was this topic helpful?
Document Information
Modified date:
10 July 2018
UID
swg21515393