Mailinglisten-Archive |
Hi Christian, die Anzahl der apache Prozesse hat zunächst mal grundsätzlich nicht unbedingt was mit der Anzahl der mysql-connections zu tun. Apache richtet sich nach der aktuellen Last und seinen Konfigurationswerten (*SpareServers). Lt. Handbuch sollte eine Erhöhung der max_connections auf <=500 grundsätzlich kein Problem darstellen, solange einige heaps nicht zu groß konfiguriert sind (siehe dazu max_connections im manual). Gruss, Michael es folgen die (aus versehen (mailer vergurkte irgendwie das reply-to)) per e-mail ausgetauschten mails. ---------------christians mail---------------------------- >>Oder weil irgendein langwieriger Aktualisierungslauf oder eine langwierige >>Transaktion einen Lock auf beteiligte Tabellen gelegt haben und alle anderen >> Prozesse darauf warten. Die Seite ist eine Community, komplett datenbankgestützt, mit eigentlich einfachen, nicht komplexen Queries. Die PConnects habe ich gestern entfernt und neu gestartet, jetzt sind nur noch ca. 7-8 MySQL-Prozeße in der Prozeßliste, aber dafür sind über 110 Apache-Daemons am Laufen...und den Fehler "too many connections" bekomme ich immer noch. Soll ich einfach das max_connections erhöhen?? Was kann ich tun damit diese Fehlermeldung nicht mehr kommt?? Vorher hatte ich einen shared server und habe die Fehlermeldung selten erhalten und jetzt doch recht oft...trotz eigenen Servers. Für Tipps und Hinweise bin ich dankbar! Ciao Christian --------------meine vorangegangene mail ------------ Hi damit, hier endlich mal jemand antwortet :) > -----Original Message----- > From: Christian Thiele [mailto:ChristianThiele_(at)_gmx.de] > Ich bekomme ab und an den Fehler "too many connections"...kann ich die > max_connections Zahl problemlos erhöhen oder gibts da > irgendwelche Probleme? Mehr connections brauchen mehr Speicher, aber ein bisschen hast Du ja. Ansonsten siehe Handbuch bzgl. max_connections Oft ist aber die Frage wieso plötzliche so viele Connections auflaufen eher zu stellen. Z.B. weil die eine oder andere Abfrage eine schlechte Performance hat und so den Server lange (z.B. >1 sec) stark belastet. Lange Queries lassen sich protokollieren (siehe long_query_time) Oder weil irgendein langwieriger Aktualisierungslauf oder eine langwierige Transaktion einen Lock auf beteiligte Tabellen gelegt haben und alle anderen Prozesse darauf warten. Man könnte ggf. wait_timeout setzen, wenn der Verdacht besteht, daß Verbindungen nicht korrekt beendet werden (z.B. weil ein script 'hängt'/programmierfehler?). Das gilt natürlich nicht für die Verwendung von pconnect. > > Kann ich in PHP mysql_pconnect() nutzen um die Zahl niedriger zu > halten?? In Ich arbeite mit perl daher bin ich kein PHP spezi, aber ich meine gehört zu haben, daß das bei Verwendung von apache nicht viel bringt, da dann pconnect connections lediglich je "session" (sprich: client-ip) zusammenfasst. (man möge mich korrigieren) > der Prozeßliste von MySQL stehen viele Prozeße auf SLEEP...woran > liegt das?? ? keine Ahnung > > Es ist ein Linux 7.3 mit 900 Mhz Pentium und 512 MB RAM und 20 GB HDD > > Danke! > ich hoffe es gibt noch ein paar weitere Antworten, die meinige wird w. nicht ausreichen. cu/ru, Michael Donning ---------------------------------------------------------------- --- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive