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

That's correct, nothing is shared between threads unless you explicitly make it shared and Apache::DBI does not. Each thread will have its own connection. As long as your DBD is thread-safe, it will work fine.
  • Comment on Re: Re: DBI, Apache::DBI and mod_perl - Is one connection sufficient?

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

    I am wondering what is wrong with my setup then (if anything). If I use the mysql client to connect to the server, it shows me "Your MySQL connection id is 0 to server version: 4.0.17-nt". Then I start up Apache, do many page requests (even tried simultaneously loading 40 pages within Opera). I then go back to the mysql client and reconnect and get connection #3. This tells me that all the page requests were handled within connection #2. So...?

      Read the Apache::DBI documentation. It includes instructions for activating debugging which will log whether or not new connections are being made.
      s/(?<=connection id is )0(?= to server)/1/;
      "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

        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.