Weblogic Best Practices Points to Remember

Weblogic Best Practices Points to Remember

Below are very good tuning points to remember and we need to implement in production environments for better performance.
  • For higher performance , set the minimum java heap size equal to the maximum heap size
For example :Mem_args= -Xms512m -Xmx512m in setDomainEnv.sh
  • Use JVMs, which provide better performance for server side applications.
For example JRockit JVM on Intel Platforms
  • Server’s heap size should not be larger than the available free RAM on a machine.
  • When monitoring garbage collection, if the heap always settles to 85% free, try reducing the heap size.
  • When setting -noclassgc make sure the perm size is set greater than the default value (32mb).
  • Avoid using the -verbosegc option during production run.
  • Use parallel garbage collection algorithms with multiple CPU machines to reduce the garbage-collection pause time.
  • If Major GC time is more than 3.5 sec lower the values of  Xms and –Xmx
  • In case of too much RAM availability use multiple WLS instances
  • To improve WebLogic Server performance, use native I/O (performance pack)
  • Select optimal number of  execute threads after careful study of the Environment
  • Tune the execute thread count only if the CPU is not running at 100% utilization yet client requests are blocked and rejected too often.
  • When tuning the thread count, stop when throughput starts dropping or CPU utilization drops or stays constant.
  • Do not set the Stuck Thread Max Time and Stuck Thread Time Interval so low so that normal requests during peak processing time are mistaken for stuck threads.
  • To provide a dedicated resource to message-driven beans, use a separate execute queue for each message-driven EJB that is deployed.
  • Enabling T3 protocol access over HTTP by tunneling degrades performance by approximately 15%; avoid tunneling T3 over HTTP.
  • If possible, size database connection pools so that they never increase the number of connections: set Initial Capacity equal to Maximum Capacity.
  • Set the Maximum Capacity of the connection pool at least equal to the Execute Thread Count.
  • Configure Inactive Connection Timeout to specify how long (in seconds) a connection can be inactive before it is reclaimed to the pool.
  • Enabling a direct-write synchronous write policy for the JMS file store frees the virtual-memory (VM) heap, but direct-write can significantly improve performance only if there are few concurrently active JMS clients.
  • Use SSL with WebLogic Server only if it is necessary. SSL degrade performance.
  • Use load balancer with built-in secure sockets layer (SSL) support for better Performance