About CCRC WAN server parallel view loading
In DevOps Code ClearCase® V8.0, parallel loading of web views is enabled by default. 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 the overall elapsed time spent loading or updating the view. However, more resources are used on the client and on the CCRC WAN server while the load or update is in progress.
Parallel loading uses multiple Java threads and multiple network connections to transfer files during a load or update. The server configuration determines the maximum number of threads 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).
The 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 as 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 as or better than serial loads. The default number of parallel load threads provides speed-up of loads in typical CCRC WAN server deployments
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.
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 ClearCase Remote Client requests or reduce the number of threads per load operation.
Symptom | Suggested action |
---|---|
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. |
About tuning of parallel loads
If your clients are not loading views as quickly as you want, you can try increasing the thread count on the server. Be sure to monitor the system resources on the CCRC WAN server 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.
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) | Not applicable (server configuration takes precedence) | Parallel loads disabled |
Enabled | Disabled | Parallel loads disabled |
Server Configuration | Client Configuration | Number of files loaded in parallel |
---|---|---|
ccrcMaxRequestsPerSession in server.conf | Default | ccrcMaxRequestsPerSession - 3 |
ccrcMaxRequestsPerSession defined | maxRequestsPerSession defined | Client setting - 3, if client value < server value; server setting - 3, if client value >= server value |