Hallo Stephan, hallo Leute, Am Donnerstag, 24. November 2005 18:01 schrieb Stephan Chudowski:
Am Do November 24 2005 17:23 schrieb Andreas Kern:
Wieviele Verbindungen habt ihr denn zu den Spitzenzeiten jede Sekunde,das der Rechner nicht mehr nachkommt?
Naja, dort sind zu den Hauptlastzeiten im Moment gut 600 Personen gleichzeitig online, die sich durch Single-Profile durchklicken wie wahnsinnig ;) . Es sind dynamische Seiten, PHP-generiert.
Auch wenn Du nicht glaubst, dass es an PHP liegt: Habt Ihr schon mal eAccelerator getestet? http://eaccelerators.sf.net Siehe dazu auch http://blog.koehntopp.de und darin der Artikel "S9Y Tuning" vom 20.5.2005. Sorry, keine Direkt-URL, aber es gibt dort eine Suche, das Stichwort "eAccelerator" sollte treffen ;-) Ach ja: Falls sich die Seiten eher selten ändern, kannst Du auch einen Abzug per wget -r machen und den ins DocumentRoot werfen *g*
Die DB liegt schon auf einem zweiten Server, das ist es also sicher nicht.
Dann muss aber auch die Netzwerk-Anbindung stimmen - eine langsame Leitung könnte IMHO das Ganze noch ausbremsen. Kann ich davon ausgehen, dass Ihr spasseshalber mal mit einer lokalen Datenbank getestet habt? Im Übrigen würde ich, falls möglich, eher die komplette Last auf 2 Server verteilen als einen getrennten Datenbank-Server vorzuhalten. Um das mit Gewissheit sagen zu können, müsste man allerdings genaueres über die Auslastung des jeweiligen Systems wissen.
Ich denke,hier ist es für euch wichtiger herauszufinden,was zu lange dauert.Wenn es viele dynamische Seiten sind,könnten die PHP-Skripte zu langsam sein,vielleicht ist php auch generell nicht schnell genug.Oder cgi/perl bremsen die Auslieferung.
PHP scheint nicht der Hänger zu sein, eher der Apache.
Dann guck mal die Apache-Einstellungen durch, insbesondere die Einstellungen zur maximal erlaubten Prozessanzahl. Idealerweise sollten die Prozesse alle in den RAM passen - dazu einfach die durchschnittliche Größe je Apache-Prozess ermitteln und die entsprechende Anzahl einstellen. Default-Werte aus SUSE 10.0 (/etc/apache2/server-tuning.conf) - natürlich auf Deine Verhältnisse anzupassen, zumindest kennst Du jetzt die entsprechenden Config-Optionen ;-) # prefork MPM <IfModule prefork.c> # number of server processes to start StartServers 5 # minimum number of server processes which are kept spare MinSpareServers 5 # maximum number of server processes which are kept spare MaxSpareServers 10 # highest possible MaxClients setting for the lifetime of the Apache # process. ServerLimit 150 # maximum number of server processes allowed to start MaxClients 150 # maximum number of requests a server process serves MaxRequestsPerChild 0 </IfModule> Guck auch mal auf http://kris.koehntopp.de/artikel/webtune/ vorbei ;-)
Möglicherweise ist auch die Datenbank zu langsam mit den Antworten.
Nein, das ist es auch nicht, das erfolgt alles im Millisekundenbereich und ist damit definitiv okay ;)
Wenn Du das sagst ;-)
Könnte das Problem nicht eher dadurch behoben werden?Bzw. durch andere Einstellungen beim Apache (insbesondere mod_cache)?
Werden wir uns mal anschauen.
Jepp. Caching jeglicher Art ist immer gut ;-) Neben mod_cache gibt es übrigens noch die (alternative) Möglichkeit, einen Reverse Proxy einzusetzen ;-) Ach ja, auch innerhalb der PHP-Scripte kann Caching sinnvoll sein - es erspart Dir u. U. (abhängig vom Script) etliche Datenbank-Abfragen. Gruß Christian Boltz -- Nicht das ich frei von Paranoia Schueben waere ;), aber wenn Dir das passiert spiel sofort Lotto, bei dem Glueck bekommst Du bestimmt 4 Wochen den 6er mit Superzahl. [Maik Holtkamp in suse-linux]