PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Apache2 Einstellung



chrimp
26.07.06, 09:48
Hallo

Ich habe einen Webserver mit verschiedenen Seiten am laufen.
Leider weiß ich nicht genau, welche Apacheeinstellung am sinnvollsten ist.
Ich habe bis jetzt die Einstellungen folgendermaßen:

<IfModule prefork.c>
StartServers 5
MinSpareServers 5
MaxSpareServers 40
MaxClients 50
MaxRequestsPerChild 0
</IfModule>

<IfModule worker.c>
StartServers 4
MaxClients 250
MinSpareThreads 25
MaxSpareThreads 100
ThreadsPerChild 35
MaxRequestsPerChild 0
</IfModule>

<IfModule perchild.c>
NumServers 5
StartThreads 5
MinSpareThreads 5
MaxSpareThreads 40
MaxThreadsPerChild 50
MaxRequestsPerChild 0
AcceptMutex fcntl
</IfModule>

Ist diese Aufteilung sinnvoll?
Gibt es irgendwelche Faustregeln, was Besucher - Threads - Clients angeht?
Was genau macht perchild und prefork? Oder kommt es nur auf das worker Modul an?

Der Server hat am Tag "nur" so 15k Visits, trotzdem ist der Server alleine vom Apache meistens 30-80% ausgelastet.
Zu Stoßzeiten muss man schon mal 3-5 Sekunden auf eine Seite warten. ;(
Gibt es evtl auch irgendwelche Testtools, mit dem man testen kann, für was der Apache die Rechenleistung benötigt (php, perl,...)?

Versionen: Debian Sarge mit 2.4.29 Kernel und Apache 2.0.54.

Danke schon mal für eure Meinungen.

Querpost (http://www.rootforum.de/forum/viewtopic.php?p=262147#262147)

marce
26.07.06, 09:56
Liess Dir in der Apache-Doku mal die Seiten zu den einzelnen Modulen durch.

Man verwendet nur eines der Module - welches ist es denn bei Dir?

HW der Kiste, Netzanbindung, ...?

chrimp
26.07.06, 10:06
Danke schonmal für die schnelle Antwort

Die Änderungen von worker.c wurden immer gleich wirksam.
Wo kann ich denn definitiv sehen, welches Modul geladen ist?

HW:
Intel Celeron 3066 MhZ
1024 MB RAM DDR 400 (Infineon)
160 GB HDD SATA
100 Mbit

marce
26.07.06, 10:09
httpd.conf?

Und sag mir bitte, dass das kein root-Server sondern ein interner Test-Server ist...

chrimp
26.07.06, 10:15
httpd.conf?

Und sag mir bitte, dass das kein root-Server sondern ein interner Test-Server ist...

Nein, dort steht es nicht und in der apache2.conf stehen nur die oben geposteten Module.

Ja, es ist ein Rootserver, aber keine Angst, um Sicherheit/Updates usw wird sich schon gekümmert. Das Problem ist nur, dass keiner erfahrung von den besten Einstellungen für den Apache hat. Der Rest passt ja perfekt...

marce
26.07.06, 10:20
Tja, wie denn nun das Configfile vom Apache heisst und wie es evtl. gesplittet ist solltest _Du_ wissen - und darin wird definiert (bzw. es wurde bei der Kompilierung angegeben). Irgendwo in den LoadModules vermutlich.

Und irgendwie glaube ich der 2. Aussage nicht so recht.

Ansonsten - lass es den machen, der sich mit dem System auskennt, Du scheinst es nicht zu sein... Sorry für die harten Worte.

Mehr Infos unter www.apache.org...

chrimp
26.07.06, 10:29
Krasse Aussage, aber na gut.
Wollte eigentlich nur Erfahrungsberichte, wie die Einstellungen am meisten Sinn machen, aber wie man gleich darauf schließen kann, keine Ahnung vom System zu haben, verstehe ich nicht.
Wenn jemand da wäre, der Erfahrung in dieser Größenordnung mit dem Apache hätte, dann würde ich hier nicht posten.

marce
26.07.06, 11:11
Gut, dann gehen wir mal vom "Standard" aus: http://httpd.apache.org/docs/2.0/mod/worker.html

jetzt sollte man wissen, wie viele Requests max. / Sek. kommen, was es für Requests sind, ob hinten dran noch eine DB liegt, dynamische oder statische Seiten, Speicherauslastung, CPU-Auslastung, IO-Waits, ...