Re: problem with pconnect
| From: | Shane Wright | Date: | Tue, 11 Dec 2001 18:40:55 +0000 |
| Subject: | Re: problem with pconnect | ||
| References: | 1 | Groups: | php.db |
| Request: | Send a blank email to php-db+get-14941@lists.php.net to get a copy of this message | ||
Hi Markus
I assume you're using Apache with PHP installed as a DSO? If not ignore my
ramblings...
AFAIK, the persistent connections are per-process - i.e. each Apache process
gets its own [set of] persistent processes.
But when you connect to apache, you rarely get the same process as you got
last time, so a few connections like that, and you end up creating a few
persistent connections, one for each Apache process you hit.
The benefits only become important when you increase the load...
--
Shane
On Tuesday 11 Dec 2001 3:39 pm, Markus Bruder wrote:
> Hello all,
>
> I used to following test-script to analyze my problems with
> sleeping-MySQL-pconnects:
>
> Script:
> <?
> require ('database.php');
> $sql = "insert into <tablename> ...";
> $res = query($sql);
> echo "<META HTTP-EQUIV=\"refresh\" CONTENT=\"10; URL=<path to
> script>\">";
> ?>
>
> Required file (database.php):
> <?
> function query($sql)
> {
> $hostname = "<databasehostname>";
> $username = "<databaseusername>";
> $password = "<databasepassword>";
> $database = "<database>";
>
> $connect =
> mysql_pconnect("$hostname","$username","$password");
> mysql_select_db("$database",$connect);
> $result = mysql_query($sql,$connect);
>
> return $connect;
> }
> ?>
>
> The first browser-connect opens up two processes, which are used every
> time, the script reloads itself (rest of time 'Sleep').
> The second browser-connect opens up two processes, too.
> And so on.
> After ending this browser-connects, the processes are all in state 'Sleep'.
> Next browser-connect doesn't re-use any of this processes - it opens up two
> more.
>
> I thought (according to the php-manual) the pconnect-function would re-use
> existing connections, but it doesn't.
>
> Does anybody know how to solve this problem?