lou_ziffer
27.01.05, 15:52
Hallo,
ich betreibe eine Seite, die zur Zeit ziemlich viel Traffic verursacht, bzw. stark Datenbankgebunden (MySQL + PHP) ist.
Der DB-Server hat derzeit durchschnittlich 76 bis 80 Prozent Prozessorauslastung.
Es gibt Zeiten, da öffnet sich die Seite im Browser erst nach >20 Sekunden.
Da der Apache-Server aber nur eine CPU-Auslastung von etwa 15% durchschnittlich hat und MaxClients bereits auf 256 steht, tippe ich auf den DB-Server als Flaschenhals.
Derzeit verwende ich keine persistenten Verbindungen.
Da dies aber bei hochfrequentierten Seiten empfohlen wird, habe ich mal kurz auf mysql_pconnect umgestellt (vorher im Mysql "set global max_connections = 276") und bekam sofort folgende Fehlermeldung im Browser bei jedem Seitenaufruf:
Warning: mysql_pconnect() [function.mysql-pconnect.html]: Host 'xxx.xxx.xxx.xxx' is blocked because of many connection errors.
Unblock with 'mysqladmin flush-hosts' in /............................/CMysqlDb.cls.php on line 26
habe natürlich sofort wieder auf mysql_connect umgestellt und flush hosts ausgeführt - nun läuft auch alles wieder so wie vorher - aber eben extrem Langsam (zur Info: Beide Server: P4 2,4GHz, Apache 1GB RAM, Mysql 2GB).
Wodurch kommt es zu diesem Fehler, wenn doch mit mysql_connect alles schön läuft???
Das Problem besteht aber offenbar nur, wenn meherere Personen auf die Seite zugreifen (d.h. im Online-Betrieb). Habe dazu nemlich auf dem gleichen Server ein Testverzeichnis angelegt und das gesamte Web dorthinkopiert. Habe dann im Test-Web mysql_connect auf mysql_pconnect umgestellt und die Seiten gehen ganz normal auf (ohne dem Fehler).
Wisst ihr vielleicht Rat? Ich bin mit meinem Latein schön langsam am Ende...
ich betreibe eine Seite, die zur Zeit ziemlich viel Traffic verursacht, bzw. stark Datenbankgebunden (MySQL + PHP) ist.
Der DB-Server hat derzeit durchschnittlich 76 bis 80 Prozent Prozessorauslastung.
Es gibt Zeiten, da öffnet sich die Seite im Browser erst nach >20 Sekunden.
Da der Apache-Server aber nur eine CPU-Auslastung von etwa 15% durchschnittlich hat und MaxClients bereits auf 256 steht, tippe ich auf den DB-Server als Flaschenhals.
Derzeit verwende ich keine persistenten Verbindungen.
Da dies aber bei hochfrequentierten Seiten empfohlen wird, habe ich mal kurz auf mysql_pconnect umgestellt (vorher im Mysql "set global max_connections = 276") und bekam sofort folgende Fehlermeldung im Browser bei jedem Seitenaufruf:
Warning: mysql_pconnect() [function.mysql-pconnect.html]: Host 'xxx.xxx.xxx.xxx' is blocked because of many connection errors.
Unblock with 'mysqladmin flush-hosts' in /............................/CMysqlDb.cls.php on line 26
habe natürlich sofort wieder auf mysql_connect umgestellt und flush hosts ausgeführt - nun läuft auch alles wieder so wie vorher - aber eben extrem Langsam (zur Info: Beide Server: P4 2,4GHz, Apache 1GB RAM, Mysql 2GB).
Wodurch kommt es zu diesem Fehler, wenn doch mit mysql_connect alles schön läuft???
Das Problem besteht aber offenbar nur, wenn meherere Personen auf die Seite zugreifen (d.h. im Online-Betrieb). Habe dazu nemlich auf dem gleichen Server ein Testverzeichnis angelegt und das gesamte Web dorthinkopiert. Habe dann im Test-Web mysql_connect auf mysql_pconnect umgestellt und die Seiten gehen ganz normal auf (ohne dem Fehler).
Wisst ihr vielleicht Rat? Ich bin mit meinem Latein schön langsam am Ende...