This section does not cover hardware setups or the expected user loads that can be supported in various setups. Refer to the Rational Asset Manager Capacity Planning Guide for this information.
The Rational Asset Manager configuration page has settings that you can adjust to achieve optimal performance. This page can be accessed by any repository administrator.Problem | Parameter / Setting | Additional Details |
---|---|---|
Slow responses when searching for assets | Local and index folders / Do not use a remote or shared folder | For best performance, each application server should have its own local and index folders on a hard disk local to the computer. This should not be the same hard disk on which the application server or operating system is installed. To set the parameter, log in to Rational Asset Manager as an administrator and navigate to ; in the Disk Storage section, set the Local folder and Index folder parameters. |
Slow responses when searching for assets | Popularity indexing / Disabled | The search engine can consider the popularity (for example, views and downloads) of assets to deliver more relevant search results; however, this can affect the performance of large repositories. To disable popularity indexing, log in to Rational Asset Manager as an administrator and navigate to ; in the Performance Options section, clear the Enable popularity indexing checkbox. |
Slow responses when searching for assets. | Index folder / Use a fast dedicated drive for the index folder | It is important that the index folder resides on a dedicated drive that is not used for other purposes. Separating the local folder and index folder helps to ensure quick response times when searching for assets. To set the parameter, log in to Rational Asset Manager as an administrator and navigate to ; in the Disk Storage section, set the Index folder parameter. |
General performance issues at regular intervals | Statistics index builder schedule / 10 minutes | Frequently running the statistics index builder leads to poor performance. A default setting of 10 minutes is adequate for most environments. To set the parameter, log in to Rational Asset Manager as an administrator and click ; then, in the Job Schedules section, locate the Statistics index builder schedule and click Edit. |
General performance issues at regular intervals | Process subscriptions schedule / Set time for low workload periods | Subscriptions can be processed at custom intervals. For better performance, set this interval to a time when Rational Asset Manager experiences a relatively low workload. To set the parameter, log in to Rational Asset Manager as an administrator and navigate to ; then, in the Job Schedules section, locate the Process subscriptions schedule and click Edit. |
General performance issues at regular intervals | User and group information update schedule / Set time for low workload periods | User and group information can be processed at custom intervals. For better performance, set this interval to a time when Rational Asset Manager experiences a relatively low workload. To set the parameter, log in to Rational Asset Manager as an administrator and navigate to ; then, in the Job Schedules section, locate the User / group information update schedule and click Edit. |
General performance issues at regular intervals | Review process notifications schedule / Set time for low workload periods | Review process notifications can be processed at custom intervals. For better performance, set this interval to a time when Rational Asset Manager experiences a relatively low workload. To set the parameter, log in to Rational Asset Manager as an administrator and navigate to ; then, in the Job Schedules section, locate the Review process notification schedule and click Edit. |
Out of memory errors in logs - session issues | Maximum number of sessions per user / 10 | It's possible for a single user to exhaust all available sessions on a server. This might be the result of a poorly written script or a denial of service attack. To prevent against this possibility the default maximum sessions per user is set to 10. After a user reaches this limit they will not be able to create new sessions on the server. To set the parameter, log in to Rational Asset Manager as an administrator and navigate to ; in the Performance Options section, set the Maximum number of sessions per user parameter. |
Submitting an asset is slow | Automatically create featured content on asset submission / Disabled | When you submit an asset, Rational Asset Manager creates thumbnail images of artifacts that are attached to the asset. If the asset has many artifacts, submitting an asset can take a long time. To disable the automatic creation of those thumbnails, log in to Rational Asset Manager as a repository administrator and navigate to ; in the Performance Options section, clear the Automatically create featured content on asset submission checkbox. |
Rational Asset Manager works closely with your application server; therefore, optimizing your application server settings will improve the performance of Rational Asset Manager.
Problem | Parameter / Setting | Additional Details |
---|---|---|
Session timeout issues | Maximum In-Memory Session Count / Default | By default, WebSphere Application Server will maintain up to 1000 sessions in memory. However, the Allow Overflow option is also selected, which indicates that additional sessions will be stored in a secondary session table. If you expect to have more than 1000 in memory sessions, you must increase the number for the secondary session table. If you want to limit the number of sessions to prevent out of memory errors, make sure the Allow overflow checkbox is not selected and set the Maximum in-memory session count to an appropriate setting for your system. To set the parameter, log in to the WebSphere Application Server Administrative Console and navigate to . |
Out of memory errors in logs | Java™ Virtual Machine heap size / Between 1300 and 2000 | On a server with 4GB of memory is installed, you can specify two instances with a heap size of 1300MB, or one instance with a heap size of 2000MB. You must watch the system paging to make sure that there is enough memory available. If your server has 8GB of memory, then specify 2 instances with a heap size of 2000MB for each instance. To set the parameter, log in to WebSphere Administrative Console and navigate to Maximum heap size. andNote that this setting should be applied to the Rational Asset Manager servers. The required setting for the IBM Rational Team Concert server is 768MB and is the default value and the maximum setting is 2048MB. In a cluster, the IBM Rational Team Concert server may be installed on its own node if needed. |
Out of memory errors in logs - session issues | Session Timeout / Default (30 minutes) | The default value for a session timeout in WebSphere Application Server is 30 minutes. Setting this value to a shorter time allows for more users, especially if you have many users making quick transactions. Setting this value too low might not allow users to upload very large assets. Remember that most users do not explicitly log out when they are done with a transaction: most sessions will exist until they timeout. To set the parameter, log in to the WebSphere Application Server Administrative Console and navigate to . |
Downloads for large assets are failing, possibly with Async or IO errors | HTTP inbound channel (HTTP 2) Write timout / 300 seconds | The default value for a write timeout from the server to a client in WebSphere Application Server is 60 seconds. Setting this value to a longer time may prevent failures when download files, especially if the client that is downloading the files has a slow connection or is making many requests. To change the parameter, log in to the WebSphere Application Server Administrative Console and navigate to . |
Periodic slowness; observed performance spikes due to garbage collections | Class Garbage Collection / Xgcpolicy:gencon (for WebSphere Application Server v7 and above) | Your specific server environment or workload might benefit from one of the other garbage collection settings. See http://www.oracle.com/technetwork/java/gc-tuning-5-138395.html for more information on garbage collection settings. To set the parameter, log in to the WebSphere Application Server Administrative Console and navigate to . |
Server fails during transfer of large files; possibly with out of memory or malloc errors in logs | Web container custom property channelwritetype / synchronous data transfer (sync) | The use of asynchronous data transfer might require an excessive number of buffers to send data over a TCP/IP connection. Set the WebSphere Application Server WebContainer to synchronous mode. For more information, refer to http://www.ibm.com/support/docview.wss?uid=swg21317658. |
High CPU usage observed | Performance monitor infrastructure / disabled | By default, WebSphere Application Server enables basic performance monitor infrastructure (PMI). Although PMI is a good tool for tuning an application server, for maximum performance, disable this feature after the server has been properly tuned. You must disable it for all instances and node agents. To set the parameter, log in to the WebSphere Application Server Administrative Console and navigate to . |
Database connection errors | JDBC Maximum Connections / 100 | Make sure that there are enough JDBC connections available to support all users that are logged into Rational Asset Manager. To set the parameter, log into the WebSphere Application Server Administrative Console and navigate to . Refer also to topic "MAXAPPLS and MAXAGENTS parameters" under DB2® tuning. Refer also to topic "Maximum number of processes for AIX® and Linux" under operating system tuning. |
General performance issues | Prepared Statement Cache / 100 | WebSphere Application Server provides the ability cache commonly used prepared statements. If cached statements are being discarded, turn on PMI in WebSphere Application Server and increase the value. To set the parameter, log in to the WebSphere Application Server Administrative Console and navigate to . Refer also to topic "Further Information for Tuning WebSphere Application Server." |
Problem | Parameter / Setting | Additional Details |
---|---|---|
CPU is being overused or underused | WebContainer Pools / 30 | Web container threads are used by the application server to handle requests. If you notice that the CPU of the server is underused, try increasing this number. If it is overused, try reducing this number. Do not set the web container threads above 50. To set the parameter, log in to the WebSphere Application Server Administrative Console and navigate to . Minimum size: 15 Maximum size: 30 |
Problem | Parameter / Setting | Additional Details |
---|---|---|
CPU is being overused or underused | WebContainer Pools / 50 | Web container threads are used by the application server to handle requests. If you notice that the CPU of the server is underused, try increasing this number. If it is overused, try reducing this number. Do not set the web container threads above 50. To set the parameter, log in to the WebSphere Application Server Administrative Console and navigate to . Minimum size: 25 Maximum size: 50 |
In addition to these parameters, you can tune WebSphere Application Server under a specific workload by turning on Performance Monitor Infrastructure (PMI). This will provide detailed graphs showing performance data. Although you should have PMI turned on under a normal workload to capture data, this will decrease performance and it should be turned off after data capture is complete.
To enable PMI, log in to the WebSphere Application Server Administrative Console and navigate to .
To improve the performance of Rational Asset Manager, you should tune your database using the parameters and values below as a guide. However, if you install Rational Asset Manager by using the server setup application the performance tuning settings provided in this section will be set and you can skip this section if you choose to use these recommended settings.
Problem | Parameter / Setting | Additional Details |
---|---|---|
No connections available | MAXAPPLS / AUTOMATIC (WebSphere Application Server maximum JDBC connections * the number of instances) | Make sure that MAXAPPLS is set high enough to handle the number of JDBC Connection Pools that are specified in your application server. The MAXAPPLS setting must be greater than or equal to the JDBC Maximum Connections setting. Setting location: Database parameters Also refer to topic "JDBC Maximum Connections" under Application Server Tuning |
Deadlocks | MAXLOCKS / AUTOMACTIC (80) | The MAXLOCKS parameter indicates the maximum percentage of available locks within DB2 that an application can hold before escalating row locks to table locks. These table locks can result in deadlocks. Setting location: Database parameters |
Deadlocks | LOCKLIST / AUTOMATIC (20000) | The LOCKLIST parameter represents the available memory for locks in DB2. You can use the following formula to set this parameter in a specific environment: LOCKLIST = [(512 * 64 * MAXAPPLS) / 4096]*2 Do not set this higher than the memory heap that is available to DB2. Setting location: Database parameters |
Deadlocks | LOCKTIMEOUT / 60 | If a single lock is stopping other transactions, this can result in a deadlock. To make sure this does not happen, set the lock time out to 60 seconds. Setting Location: Database parameters |
General performance issues | Statistics / Schedule regular runs | Running statistics against the tables will help the optimizer determine the best path for accessing data. Statistics should be run on a regular basis or scheduled automatically. |
Errors during database migrations | LOG_FIL_SIZ / 10000 | The migration function in Rational Asset Manager might not work on databases with thousands of assets of the LOG_FIL_SIZ is set too low. |
Problem | Parameter / Setting | Additional Details |
---|---|---|
Unable to access DB2 server | *See Topic: Maximum number of processes for AIX and Linux under operating system tuning. | If you cannot access the DB2 server, it might be possible that the db2agents have used the maximum number of processes. |
Setting parameters to AUTOMATIC within DB2 will allow DB2 to tune the parameters based on the current workload. At first, this can result in a negative performance impact and some potential errors if certain values are not tuned quickly enough, but it is a good way to determine what parameters might need to be tuned to achieve maximum performance.
If you set a parameter too high and cannot start the DB2 control center, the parameter can be changed on the DB2 command line by using the statement db2 update db cfg for db_name using parameter_name value.
This section provides tuning information for IBM HTTP Web Server, which is included in the supplements for WebSphere Application Server.
The parameters that are described in this section can be modified in the httpd.conf file.
Problem | Parameter / Setting | Additional Details |
---|---|---|
Connection closed errors | MaxKeepAliveRequests / 0 | This directive signifies the maximum number of requests that a single client can make before the connection is closed. Generally, this value is set to 0. |
General performance issues | LoadModule / ibm_afpa_module modules/mod_afpa_cache.so | Note: The use of this setting is deprecated
as of IHS 7 and should not be enabled. See http://publib.boulder.ibm.com/infocenter/wasinfo/fep/index.jsp?topic=/com.ibm.websphere.ihs.doc/info/ihs/ihs/tihs_cacheenable.html.
To cache static content such as images,
uncomment the following line:This will activate the Fast Response Cache Accelerator (FRCA). |
General Performance Issues | Afpa Logging / off | Note: The use of this setting is deprecated
as of IHS 7 and should not be enabled.
If you do not need FRCA
logging turned on, you can turn it off by placing the comment character
(‘#') before the AfpaLogFile directive. Doing this will also
boost server performance. |
Problem | Parameter / Setting | Additional Details |
---|---|---|
Out of threads errors in web server logs | ThreadLimit / 25 | Depending on how many users access Rational Asset Manager at a given time, it might be necessary to increase the thread limit. To see if you need to increase the limit, check the web server logs for out of threads errors or warnings. |
Out of threads errors in web server logs | ThreadsPerChild / 25 | Depending on how many users access Rational Asset Manager at a given time, it might be necessary to increase the thread limit. To see if you need to increase the limit, check the web server logs for out of threads errors or warnings. |
Problem | Parameter / Setting | Additional Details |
---|---|---|
Out of threads errors in web server logs | ThreadLimit / 4000 | Depending on how many users access Rational Asset Manager at a given time, it might be necessary to increase the thread limit. To see if you need to increase the limit, check the web server logs for out of threads errors or warnings. |
Out of threads errors in web server logs | ThreadsPerChild / 3000 | Depending on how many users access Rational Asset Manager at a given time, it might be necessary to increase the thread limit. To see if you need to increase the limit, check the web server logs for out of threads errors or warnings. |
This section specifically covers IBM Edge Caching Proxy. For information on DMZ caching proxy server configuration, see the DMZ caching proxy server configuration section.
You can modify the parameters that are described in this document in the ibmproxy.conf file.
Problem | Parameter / Setting | Additional Details |
---|---|---|
Unable to upload assets with large file sizes | LimitRequestBody / 2G | By default, this parameter is set to 10 M. Change this to a larger value so that users can upload large files. |
Unable to upload assets with large file sizes due to timeouts | InputTimeOut / 60 Minutes | Changing this parameter to 60 minutes will give users sufficient time to upload large assets. Refer also to topic "Session Timeout" under Application Server Tuning |
Unable to upload assets with large file sizes due to timeouts | ReadTimeout / 60 Minutes | Changing this parameter to 60 minutes will give users sufficient time to upload large assets. Refer also to topic "Session Timeout" under Application Server Tuning |
Unable to upload assets with large file sizes due to timeouts | ScriptTimeout / 60 Minutes | Changing this parameter to 60 minutes will give users sufficient time to upload large assets. Refer also to topic "Session Timeout" under Application Server Tuning |
Parameter | Setting |
---|---|
SendRevProxyName | yes |
PurgeAge | 3 |
DirShowCase | off |
MaxActiveThreads | 110 |
ConnThreads | 15 |
MaxPersistRequest | 15 |
ServerConnPool | on |
CacheMemory | 1200 M (max) |
CacheAlgorithm | responsetime |
Numclients | 100 |
flexibleSocks | off |
ListenBacklog | 256 |
Follow these caching proxy server guidelines for better performance:
<services xmi:type="pmiservice:PMIService"
xmi:id="PMIService_1243598970603"
enable="false"
initialSpecLevel=""
statisticSet="basic"
synchronizedUpdate="false" />
<services xmi:type="traceservice:TraceService"
xmi:id="TraceService_1243598970603"
enable="true"
startupTraceSpecification="*=info"
traceOutputType="SPECIFIED_FILE"
traceFormat="BASIC"
memoryBufferSize="8">
<traceLog xmi:id="TraceLog_1243598970603"
fileName="$(SERVER_LOG_ROOT)/trace.log"
rolloverSize="40"
maxNumberOfBackupFiles="10" />
</services>
<services xmi:type="diagnosticproviderservice:DiagnosticProviderService"
xmi:id="DiagnosticProviderService_1243598970603"
enable="false"
startupStateCollectionSpec=".*:.*=0" />
<proxy:ProxySettings
xmi:id="ProxySettings_1243598971020"
enableCaching="false"
cacheInstanceName="proxy/DefaultCacheInstance"
outboundRequestTimeout="1800"
connectionPoolEnable="true"
maxConnectionsPerServer="0"
enableLogging="true"
outboundConnectTimeout="10000"
enableCustomErrorPagePolicy="false"
enableStaticRouting="true">
<properties xmi:id="Property_1243847354992"
name="http.routing.sendReverseProxyNameInHost"
value="true" description=""
required="false"
validationExpression="" />
- <routingPolicy xmi:id="RoutingPolicy_1243598971020">
- <routingRules xmi:id="RoutingRule_1243847354917"
name="local_port81_rule"
isEnabled="true"
virtualHostName="port_80"
uriGroup="local81_all">
<routingAction xmi:type="proxy:GenericClusterRoute"
xmi:id="GenericClusterRoute_1243847354926"
genericServerClusterName="local81_http_cluster" />
</routingRules>
</routingPolicy>
<staticCachePolicy xmi:id="StaticCachePolicy_1243598971020" />
<staticFileServingPolicy xmi:id="StaticFileServingPolicy_1243598971020" />
</proxy:ProxySettings>
During large file (1 GB and higher) uploads on a slow connection, the DMZ proxy server may return a 504 timeout error. This error does not indicate a problem with Rational Asset Manager, and the upload will complete normally. However, to avoid the 504 error, increase the outboundRequesttimeout.
To ensure they are separate, determine where WebSphere is installed and then run swap -l or lsps -a.
Windows:
Problem | Parameter / Setting | Additional Details |
---|---|---|
“Address already in use” errors seen when testing with Rational Performance Tester. | registry item MaxUserPort / 65534 | Note: The setting needs to be modified on the Rational Performance Tester
client, not the Rational Asset
Manager server.
|
To avoid session availability bottleneck (seen with 900 users on 6-instance cluster) | registry item TcpTimedWaitDelay / 30 |
|
The following instructions are specific to AIX.
Maximum number of processes:
The maximum number of processes that a user can run must be set to a high enough level. This is especially true of the database server, which can have many database agents.
lsattr -E -l sys0 -a maxuproc
To set the maximum
number of processes, use the following command:chdev -l sys0 -a maxuproc=2000
This
will result in a limit of 2000 after restarting the system.File descriptors:
default:
fsize = -1
core = -1
cpu = -1
stack = -1
fsize_hard = -1
cpu_hard = -1
stack_hard = -1
core_hard = -1
data = 262144
rss = 65536
nofiles = 65535
nofiles_hard = 65535
On a Redhat system, add
the following two lines to the /etc/security/limits.conf file. soft nofile 65535
hard nofile 65535
Setting values to unlimited can also be accomplished by using the ulimit command.
Problem | Parameter / Setting | Additional Details |
---|---|---|
Going to external DNS | /etc/netsvc.conf | Add this line to the netsvc.conf file:
|
Ethernet adapter is doing Segmentation Offload |
|
The impact of these commands is affected by
how big the TCP/IP packets are that your application creates, sends,
or receives. The "no -a" commands are in effect until the system
is rebooted. To make them permanent, add the following command to
the /etc/tunables/nextboot file:
These commands can also be set on a per-tcpip-interface basis. Check the "lsattr -E -l en0" and if they are not set there, then AIX uses the "no -a" values. |
AIX sees a number of virtual processors that is greater than the number of physical processors. | smtctl -m off | The AIX smtctl command
shows how many virtual processors that AIX sees.
Turn SMT off with the command:
Running the smtctl -m off command requires you to then run the bosboot command to make the change permanent. If you do not run bosboot you will lose the effect of running smtctl -m off after a system restart. The two threads on each physical processor share a Level1 cache. If the threads are unrelated, they corrupt the other cache data, which can end up slowing down the overall throughput as the system waits for more memory fetches to refresh the cache. Consider making a couple of test runs with this on and off to see what setting is best for your workload. |
NIS is running. | Disable NIS. | If the /etc/hosts and /etc/passwd files
contain lines with '+', then the system is running 'NIS', also
called YellowPages. This can also be seen by
NIS
is not normally enabled on AIX-out-of-the-box. If you do not need
this for the application server, consider a test run with NIS disabled. |
Many sockets in FIN_WAIT_2 state | no -o tcp_finwait2=60 | If the "netstat -an" shows many sockets in FIN_WAIT_2 state, this means “high connection rates occur” and will correspond to the “Address already in use” message that is in server logs. This can be controlled by a "no" command. First look
at the current setting,
and see the default of 1200 half-seconds (i.e., 10 minutes). Try
a test run with the following setting:
The "no" command is good until reset or until a reboot. To make it permanent, define it in /etc/tunables/nextboot. |
The processor is capable of using large pages, but is not doing so. | Add parameter to JVM: -Xlp | This JVM is for the Rational Asset Manager server on WebSphere Application Server. From the WebSphere Application Server administration console, select .The parameter is -Xlp<size>. You should specify -Xlp with no size to enable the default large paging size. You can also set a specific size. For example -Xlp64 enables 64 KB pages. |