Hallo Stephan, hallo Leute, Am Samstag, 26. November 2005 14:03 schrieb Stephan Chudowski:
Am Fr November 25 2005 00:10 schrieb Christian Boltz:
Ach ja: Falls sich die Seiten eher selten ändern, kannst Du auch einen Abzug per wget -r machen und den ins DocumentRoot werfen *g*
muha, die Idee sollte prämiert werden ;P
Naja, je nach Anwendungsfall... *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?
Die DB ist seit 4 Wochen auf dem 2. Server, was uns schon eine Performancesteigerung um mehr als 150 % eingebracht hat. Als die DB und der Apache auf dem selben Rechner liefen, war bei 300 Nutzern Ende.
Das hört sich nach RAM-Mangel auf dem ersten Server an ;-)
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.
Ist eine Kostenfrage. Ein Loadbalancer kostet monatlich ab 500 EUR aufwärts, dazu kommt dann noch einiges anderes an Kosten...
Blöde Frage: Kannst Du einfach 2 IPs im Nameserver eintragen (lassen)? Das ist dann zwar kein ausgewachsenes Loadbalancing, sollte aber denselben Zweck erfüllen. [...]
# maximum number of server processes allowed to start MaxClients 150
[...] Ist schon alles ziemlich optimiert und stark nach oben gesetzt.
Da der Server sich irgendwann "totswappt", vermute ich stark, dass die Werte *zu hoch* sitzen. Ja, kurzfristig hält das die Warteschlange leer. Langfristig füllt es Dir aber den swap und macht die Warteschlange durch die vergrößerten Antwortzeiten deutlich länger...
Guck auch mal auf http://kris.koehntopp.de/artikel/webtune/ vorbei ;-)
Wird wohl die Sonntagslektüre werden ;)
Dann mal viel Spaß. Anschließend drehst Du dann die MaxClients wieder etwas runter, versprochen? ;-)
Ach ja, auch innerhalb der PHP-Scripte kann Caching sinnvoll sein - es erspart Dir u. U. (abhängig vom Script) etliche Datenbank-Abfragen.
Ist leider nicht drin, da sich die Seiten wirklich mit jedem Aufruf ändern..
Dann solltest Du versuchen, zumindest Teile der Seite zu cachen. Und zwar möglichst nahe am Ausgabeformat, also als fertige HTML-Blöcke. Auch hierzu hat sich Kris Köhntopp schon ausgetobt [1] - eine Suche nach "Cache" oder "Caching" auf blog.koehntopp.de sollte helfen. Oder Du guckst gleich die komplette Kategorie "PHP" durch ;-) Gruß Christian Boltz [1] oft im Zusammenhang mit s9y, das stört aber nicht ;-) -- Den ganzen Prozess zusammengenommen nennt man "Branding": Man nimmt ein glühendes Eisen mit der neuen Ausdrucksform und drückt sie der Firma kräftig drauf - und die reagiert wie ein Rindviech. :-) [Ratti]