Hi Christian,
Our DB already has more than 100 connections from various other systems. Each connection takes about 5MB of memory. Since only 5 children are taking the heavy load, the rest 23 connections are mostly idle. And since we plan to have a second machine running Openser as a failover, there will be another 28 iddle connections.
A single connection pool that would serve all children would be able to create connections on demand. At peak traffic it would be possible that the pool has as many connections as the number of children. But that would be rare (at least in our case). Basically, the amount of traffic would determine the amount of connections.
What if each module opened the connection to the DB in mod_init() instead of child_init()? What implications could that have?
Best regards
George
Papadopoulos Georgios wrote: ...
Another issue that came up is the number of connections
from Openser to
the database. In our case, listening to five interfaces, with tcp disabled and children=5, we get 28 connections to DB which
is a great
waste of resources. From those five interfaces, one is
receiving the
bulk of traffic and the rest receive minimal traffic. Since
each child
has its own connection, then what is the purpose of
connection pooling?
How difficult would it be to have a common connection pool
for all children?
I don't think that having 28 DB connections is a waste of resources, in fact I think you will get better DB query performance using one DB connection per openser worker process than using a DB connection pool. Most databases including Oracle DB are optimized for concurrent access using either a process or a thread pool, so why not take advantage of that. And most DBs can easily handle at least 100 concurrent DB connections.
Christian
Disclaimer The information in this e-mail and any attachments is confidential. It is intended solely for the attention and use of the named addressee(s). If you are not the intended recipient, or person responsible for delivering this information to the intended recipient, please notify the sender immediately. Unless you are the intended recipient or his/her representative you are not authorized to, and must not, read, copy, distribute, use or retain this message or any part of it. E-mail transmission cannot be guaranteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses.