in reply to Re^3: DBI, Apache::DBI and mod_perl - Is one connection sufficient?
in thread DBI, Apache::DBI and mod_perl - Is one connection sufficient?

"It's not a bug it's a feature!"

As all requests came from the same IP, from the same client even and were probably/perhaps for the same database, there is no need to start up x connections. Apache::DBI is bright enough to recognize that fact and limit the number of connections.

CountZero

"If you have four groups working on a compiler, you'll get a 4-pass compiler." - Conway's Law

  • Comment on Re: Re^3: DBI, Apache::DBI and mod_perl - Is one connection sufficient?

Replies are listed 'Best First'.
Re^5: DBI, Apache::DBI and mod_perl - Is one connection sufficient?
by Anonymous Monk on Feb 25, 2004 at 20:51 UTC

    Is this true? There should be no difference in execution even if it is from the same client. Multiple instances from the same client could still clash easily. Unless you are saying that same-client requests are queued and not run simultaneously.

      This what the docs say:
      if the module Apache::DBI has been loaded. In this case every connect request will be forwarded to the Apache::DBI module. This looks if a database handle from a previous connect request is already stored and if this handle is still valid using the ping method. If these two conditions are fulfilled it just returns the database handle. The parameters defining the connection have to be exactly the same, including the connect attributes! If there is no appropriate database handle or if the ping method fails, a new connection is established and the handle is stored for later re-use.
      and:
      it keeps database connections persistent on a per process basis. The problem is, if a user accesses several times a database, the http requests will be handled very likely by different servers..

      But if your requests are dealt with by the same process (which is very likely, as it is most difficult to open many simultaneous requests by hand (hint: use a stress test tool)) you use the same connection.

      CountZero

      "If you have four groups working on a compiler, you'll get a 4-pass compiler." - Conway's Law