Sometimes, when Apache proxies to a WebLogic server, if the application has an issue and fails in releasing threads (typically you would see in the logs some threads struck and some "Out of Memory" errors), it can have a direct effect on Apache itself. Some child process will top CPU till restarted. Restarting Apache can solve the issue, WebLogic releasing its threads and becoming healthy again.
A fine tuning of Apache and the way the processes and threads are configured is also necessary:
- Apache KeepAlive On (to minimize the number of connections for the same client)
- Apache MaxClients and ThreatdPerChild (one thread = 1 connection)
- TCP parameter tcp_conn_request_max must be set
- TCP parameter tcp_keep_alive_interval (not to have too many sockets in TIME_WAIT state)
- WebLogic managed servers can be allocated some threads with increment (example: start with 25, increment by 5 till 50)
But again the root cause may likely be the WebLogic application itself. So looking into the WebLogic logs is necessary to get the whole picture.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment