Sven Rautenberg: mySQL > mysql_pconnect() Too many connections

Beitrag lesen

Moin!

Hallo ich bekomme bei jedem 10ten klick auf meiner Webseite folgende Fehlermeldung:

Warning: mysql_pconnect() [function.mysql-pconnect]: Too many connections htdocs/include/mySql.class.php on line 43

Warum benutzt du pconnect, warum nicht connect?

Gehostet wird die Webseite seit einer Woche bei Strato, davor bestand dieses Problem nie. Ich nutze mySQL 4 und PHP 4

MySQL hat eine Maximalzahl erlaubter Verbindungen. Jeder Apache-Prozess baut mit pconnect eine eigene Verbindung zu MySQL auf.

Das bedeutet:

1. Man hat von dem angeblichen Performancevorteil sowieso meist nichts, solange ein Apache-Prozess nicht schon eine Verbindung aufgebaut hat. Auf selten besuchten Sites sowieso nicht.

2. MySQL verbrät einen erheblichen Teil seiner Ressourcen nur damit, unbenutzte Handles offen zu halten, und muß außerdem auf die Zahl der Apache-Prozesse abgestimmt werden.

Es gilt wieder einmal der wichtige Satz aus dem Handbuch:
"Warning

Using persistent connections can require a bit of tuning of your Apache and MySQL configurations to ensure that you do not exceed the number of connections allowed by MySQL."

Also wirf pconnect raus. Du brauchst es nicht! connect ist in den allermeisten Fällen viel besser. Außerdem hat pconnect einige mögliche Nebenwirkungen, über die man ganz böse stolpern kann - wie in den User-Anmerkungen dokumentiert.

- Sven Rautenberg

--
"Love your nation - respect the others."