SYMPTOMS
Logging into Enterprise Manager Fusion Middleware Control (fmwc) takes a long time. Sometimes as long as 45-60 seconds.
This is often viewed as slow response time, performance or hanging issues. This applies to fmwc 11g and 12c.
Root Cause:
fmwc discovery is always performed as part of login. For installations with thousands of targets, fmwc discovery may take 45-60 seconds. This time is expected because EM discovery mbeans need to be invoked for every target.
SOLUTION
Solution is to cache the discovery results in the servlet context and use it for subsequent logins. This discovery result will be shared by all the fmwc users. This will still require the entire discovery to be done at least once. If the initial login is slow due to discovery of large number of targets, changes in this note will not reduce the initial login delay.
In FMw 11.1.1.6 (PS5), new parameters are added to enable/disable and to control use of the cached discovery results. Patches are available for some previous FMw 11g releases.
If the caching is enabled, fmwc will use the cached discovery results.
The default setting is “not use the cached results”
Steps to enable fmwc discover cache using wlst
Start wlst:
Unix/Linux: $MW_HOME/oracle_common/common/bin/wlst.sh
Windows: %MW_HOME%\oracle_common\common\bin\wlst.cmd
Connect to AdminServer as weblogic user (This step is not shown in the sample steps below)
Invoke setProperty operations to set parameters (If the setProperty operation is successful, no message will be displayed)
Invoke getProperty operations to display and confirm parameter values
For property details see “Steps to enable fmwc discover cache using fmwc System Mbean Browser:Step 4”
Invoke setProperty operations to set parameters
Change location to domain custom tree
domainCustom()
Setting variables
myMBean=ObjectName(’emoms.props:Location=AdminServer,name=emoms.properties,type=Properties,Application=em’)
types=[‘java.lang.String’, ‘java.lang.String’]
type=[‘java.lang.String’]
Set property oracle.sysman.emas.discovery.wls.FMW_DISCOVERY_USE_CACHED_RESULTS=true
params=[‘oracle.sysman.emas.discovery.wls.FMW_DISCOVERY_USE_CACHED_RESULTS’, ‘true’]
mbs.invoke(myMBean,’setProperty’,params,types)
Set property oracle.sysman.emas.discovery.wls.FMW_DISCOVERY_MAX_CACHE_AGE=7200000
params=[‘oracle.sysman.emas.discovery.wls.FMW_DISCOVERY_MAX_CACHE_AGE’,’7200000′]
mbs.invoke(myMBean,’setProperty’,params,types)
Set property oracle.sysman.emas.discovery.wls.FMW_DISCOVERY_MAX_WAIT_TIME=10000
params=[‘oracle.sysman.emas.discovery.wls.FMW_DISCOVERY_MAX_WAIT_TIME’,’10000′]
mbs.invoke(myMBean,’setProperty’,params,types)
Invoke getProperty operations to display and confirm parameter values (Values returned by wlst are in bold)
Display changes added
param=[‘oracle.sysman.emas.discovery.wls.FMW_DISCOVERY_USE_CACHED_RESULTS’]
mbs.invoke(myMBean,’getProperty’,param,type)
wls:/base_domain/domainCustom> ‘true’
param=[‘oracle.sysman.emas.discovery.wls.FMW_DISCOVERY_MAX_CACHE_AGE’]
mbs.invoke(myMBean,’getProperty’,param,type)
wls:/base_domain/domainCustom> ‘7200000’
param=[‘oracle.sysman.emas.discovery.wls.FMW_DISCOVERY_MAX_WAIT_TIME’]
mbs.invoke(myMBean,’getProperty’,param,type)
wls:/base_domain/domainCustom> ‘10000’
Steps to enable fmwc discover cache by modifying emoms.properties
- Make a copy of DOMAIN_HOME/config/fmwconfig/servers/AdminServer/applications/em/META-INF/emoms.properties
- Modify or add following entries in emoms.properties
oracle.sysman.emas.discovery.wls.FMW_DISCOVERY_DISABLE_NOTIF_LISTNER=true
oracle.sysman.emas.discovery.wls.FMW_DISCOVERY_USE_CACHED_RESULTS=true
oracle.sysman.emas.discovery.wls.FMW_DISCOVERY_MAX_WAIT_TIME=15000
oracle.sysman.emas.discovery.wls.FMW_DISCOVERY_MAX_CACHE_AGE=36000000
- Restart the AdminServer for changes to take effect
How to Enable Discovery Cache To Avoid Long Delay During Login To Fusion Middleware Control (Doc ID 1423893.1)