phpbar.de logo

Mailinglisten-Archive

[php] Daten im Hauptspeicher, File oder DB schneller?

[php] Daten im Hauptspeicher, File oder DB schneller?

Juri Smarschevski smj_(at)_intratools.de
Tue, 31 Oct 2000 10:11:06 +0100


> -----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