Weblogic Enterprise Manager Fusion Middleware Control 12c takes too much time to login


Recently I have come across a strange situation in Weblogic EM Control login. 

Problem Summary-
  1. Environment- Oracle WebLogic EM Control 12c
  2. Enter the EM control URL in web browser- http://192.168.0.141:7001/em
  3. Provide username/password
  4. Click Login
  5. Now a message shows- "Login Successful .... Redirecting" and it takes too much time (sometimes 30 secs to 2 minutes) to show the landing page
Changes
As the number of fmwc monitored targets increases, the login times goes up as well.

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.

Enabling discover cache can help to get rid of this problem-
Below are the steps to enable fmwc discover cache using fmwc System Mbean Browser (12c)

1. Login to oracle enterprise manager (http://host:port/em) & navigate to fmwc (Fusion Middleware Control) System mBean browser. 

2. Access following AdminServer mBean for setting the cache property. emoms.props:Location=AdminServer,name=emoms.properties,type=Properties,Application=em

Setting following three properties.  Unless using non-default values, the last two properties are optional.
# Enable caching of FMw Discovery data and use it for other subsequent users.
# Values=true/false   Default=false
oracle.sysman.emas.discovery.wls.FMW_DISCOVERY_USE_CACHED_RESULTS=true
# If caching of discovery data is true, this parameter indicates how long the discovery data 
# from cache should be used before requiring a fresh discovery. 
# Time value is in milliseconds.  Default is 7200000 milliseconds.
oracle.sysman.emas.discovery.wls.FMW_DISCOVERY_MAX_CACHE_AGE=7200000 
# If caching of discovery data is true, a user logs in and a discovery session is in progress, 
# this parameter indicates how long the user can wait for current discovery to complete. 
# After this wait time is elapsed and discovery is still not finished:  If there is already data 
# in cache it will be used, else the user will launch a new discovery session.
# Time value is in milliseconds.  Default is 10000 milliseconds.
oracle.sysman.emas.discovery.wls.FMW_DISCOVERY_MAX_WAIT_TIME=10000 

3.If new targets are added after enabling discovery cache and new targets are not displayed in fmwc, perform a manual refresh of the Farm to update the discovery cache.

Now logout and login again to see the difference in logging in time.

Note: Restart weblogic in case changes doesn't take effect.








Comments

Popular posts from this blog

Oracle SOA Suite- Implementing Email Notification

Oracle SOA Suite 12c- PKIX path building failed & unable to find valid certification path to requested target

Migration of Oracle SOA Suite Composite from 11g to 12c