Mailinglisten-Archive |
> -----Original Message----- > From: php-admin_(at)_php-center.de > [mailto:php-admin_(at)_php-center.de]On Behalf > Of Björn Schotte > > ........ > Persistente Datenbankverbindungen sind pro Apache-Prozess, sie werden > nicht innerhalb der verschiedenen Apache-Prozesse geshared. > Um eine MySQL-Verbindung zu identifizieren, wird Username, > Passwort und > Datenbankhost verglichen. Gibt es bereits eine Verbindung zu MySQL mit > diesem Tripel, wird sie wiederverwendet, falls nicht, wird eine neue > Verbindung aufgemacht. Es ist also nicht die dreifache Menge, sondern > die n-fache Menge, wobei n die Anzahl der moeglichen > User/Passwort/DB-Host-Tripel ist. > Das verstehe ich jetzt nicht ganz. Was ist ein Apache-Prozess in dem Fall? Ist's der WebServer? Falls nicht, dann wohl ein Apache-SubProzess, der von Apache gestarted wird, wenn man z.B. eine PHP Seite aufruft. Korrekt? Falls von diesem SubProzess aus ein weiterer Apache SubProzess (?) zu MySQL (pconnect) gestarted wird, was passiert nach dem Beenden des PHP SubProzesses? Bleibt der pconnect noch bestehen? Wenn ja, dann soll doch dieser pconnect-SubProzess von anderen PHP-SubProzessen geshared werden (falls User/Passwort/DB-Host-Tripel indentisch ist), sonst hat pconnect ja keinen Sinn. > Einfache Konstellation: > Ein Rechner, auf dem sowohl der Webserver als auch MySQL > laufen. Es gibt > n MySQL-Accounts, die von PHP benutzt werden. > Das heisst, es werden maximal n*MaxClients persistente > Verbindungen zum > Datenbankserver geoeffnet, sofern dies nicht anderweitig > limitiert wird > (z.B. in der php.ini). > > Bei MaxClients=100 und 5 Useraccounts waeren das dann maximal 500(!) > Verbindungen, die geoeffnet werden. Auch nicht ganz klar, wenn 5 MySQL UserAccounts vorhanden sind, dann gibt's IMHO insgesamt auch nur 5 PW, und zwar pro User ein PW - das wuerde bedeuten, dass die DB-Anzahl die entscheidene Rolle spielt. 5 =< User / PW >= 1, und falls nur eine DB angesprochen wird, dann soll's maximal 5 pconnect's geoffnet werden. pconnect = MySQL_User * My_SQL_DB Hmm, wo liege ich falsch ? Gruss, Juri
php::bar PHP Wiki - Listenarchive