Why do I keep seeing the below semaphore INFO messages in Apache error log when Apache is running with Prefork MPM ?
[03/Feb/2016:12:06:30] [Info] [CA WebAgent IPC] [25963] [CSmSem::getSem] Attempted to attach to non-existent semaphore with key 0x6947862b [03/Feb/2016:12:06:30] [Info] [CA WebAgent IPC] [25963] [CSmSem::getSem] Created semaphore 8421388 using key 0x6947862b
Apache Pre-fork: Multi-Processing Module (MPM) implements a non-threaded, pre-forking web server that handles requests in a manner similar to Apache 1.3 (process based). Each process will attach/create to semaphore, it also creates separate connections to the policy server for each request (handles one at a time) and will tend to renew those processes regularly, often in peak times a process will handle one transaction then apache will shut down that http process.
Each process will connect as specified in the Host Config Object, so each process may startup, perform a handshake with the policy server, connect 2 sockets to each policy server ( depends on your minsocketsperport config) in the cluster for load balancing, process one request then it’s shut down hence the often INFO Messages in your Apache error log about creating a new Semaphore.
Apache Worker mode: Multi-Processing Module (MPM) implements a hybrid multi-process multi-threaded server. By using threads to serve requests, it is able to serve a large number of requests with fewer system resources than a process-based server. However, it retains much of the stability of a process-based server by keeping multiple processes available, each with many threads. A single control process (the parent) is responsible for launching child processes. Each child process creates a fixed number of server threads as specified in the ThreadsPerChild directive, as well as a listener thread which listens for connections and passes them to a server thread for processing when they arrive. The thread pool can go up and down, but the number of process is both smaller and from a SiteMinder viewpoint, there is only one handshake per process, and all the threads in a pool share the connections to the policy server so they actually get re-used, and also load balanced between policy servers that is why you do not see the messages as often in the Apache error log when in worker MPM.
If you have any other Apache that are required to run on pre-fork ,you can always suppress the messages following the below steps.
1. go under Webagent_home/config
2. Edit your trace.conf file and set the log level to error as shown below
nete.stderr.loglevel=error
3. stop apache process and make sure LLAWP went down completely before starting back the Apache instance