Georg Botorog wrote:
Apache::DBI uses one connection per process. There is no bottleneck there. Each process only handles one request at a time so it would have no use for more than one database connection.More precisely, I am using Apache::DBI to create and cache the connection to the DB. As this connection uses a single Oracle session, it is obvious that it becomes a bottleneck.
> Ideally, one would have a pool of DB
That's only ideal if your code spends a lot of time doing things that don't involve a database. You shgould be running with a reverse proxy in front, so that mod_perl processed will not be serving static files.sessions (= DB handles) that the Apache threads would use in serving the requests coming from clients.
Any load-balancer will do that. There are dozens, both commercial and open source. See the mod_perl documentation for a list you can start with.Alternatively, is it possible to convince several Apache servers running concurrently to cooperate (i.e., load balance) in answering incoming requests? If yes, how?
- Perrin