Stefan: Gute Konfigurationswerte für den Apache 2

Hallo Experten,

folgendes Szenario: Ubuntu Server mit 4 GB Ram, Xeon 5130 (2 x 2 GHz), einen Apachen 2.2.8 darauf. Auf meiner Seite sind zwischen 10 und 400 Mitglieder gleichzeitig online. Bis 100 Mitglieder alles prima, darüber wird es sehr zäh. Ich habe mein (beschränktes) Wissen zusammengekramt und geprüft: Load ist bei 0,2 irgendwo, 0,5 GB RAM frei, geswappt wird nicht. Hardwaretechnisch scheint sich der Server zu langweilen.

Daher meine ich den Grund beim Apachen zu sehen, dass hier nicht genug connections offen sind bzw. der Apache nicht genug Anfragen gleichzeitg bedienen kann (meine Seiten sind sehr sehr grafikintensiv). Mein Problem ist aber nun: wie prüfe ich nach, ob das was ich mir da mit dem Apachen zusammenreime korrekt ist? Ich will nicht herumschrauben ohne zu wissen, dass es gut ist was ich da tue :) Habt ihr mir einen Tipp wie ich prüfen kann, ob die schlechte Performanz meines Servers an der Reaktion des Apachen liegt?

Ganz herzlichen Dank für jeden Hinweis!

Stefan

  1. Hallo,

    Daher meine ich den Grund beim Apachen zu sehen, dass hier nicht genug connections offen sind bzw. der Apache nicht genug Anfragen gleichzeitg bedienen kann (meine Seiten sind sehr sehr grafikintensiv). Mein Problem ist aber nun: wie prüfe ich nach, ob das was ich mir da mit dem Apachen zusammenreime korrekt ist?

    Schau Dir mal MaxClients an und bedenke, dass ein Browser normalerweise bis zu 2 gleichzeitige Verbindungen zum Server unterstützt. Der Defaultwert ist meist 256 (hängt auch vom MPM ab), d.h. Deine Zahl 100 (x2) passt da ziemlich gut rein.

    Du kannst ja mal versuchen, MaxClients auf 512 oder 1024 zu setzen um zu sehen, ob es dann besser klappt.

    Bedenke jedoch, dass viele Prozesse auch sehr viele Dateideskriptoren brauchen (eventuell musst Du Systemlimits hochsetzen, unter Linux kannst Du die maximale Gesamtzahl nachschlagen über »sysctl fs.file-max« als root - sollte auf mindestens 5 * Anzahl Serverprozesse stehen, gerne auch höher; bei mir steht's auf etwa 200 000) und außerdem RAM benötigen (was bei Dir aber wohl kein Problem darstellt, wenn erst 0,5 GiB verwendet werden).

    Viele Grüße,
    Christian

  2. Hi,

    ich hatte schonmal das gleiche Problem mit einem Server bei verio.

    Nachdem mir dort keine helfen konnte, habe ich trotz meines nicht vorhandenen Wissens ein wenig experimentiert und am Ende herausgefunden woran es lag:

    Max Requests  Per Child: 0 - Keep Alive: on - Max Per Connection: 100

    Also hatte ich Keep Alive abgestellt und dann klappte alles, allerdings
    weiss ich bis heute nicht warum. Verio konnte es mir zumindest auch nicht sagen.

    Timo