kein connect zum webserver bei hoher last?

Apache, Lighttpd, nginx, Cherokee
Post Reply
itti
Posts: 49
Joined: 2004-10-25 21:16
 

kein connect zum webserver bei hoher last?

Post by itti »

ich bekomme auf einer von mir betreuten seite mit verhältnissmässig viel traffic seit neuem meldungen von usern dass sie ab und an nen timeout bekommen. das isn 1&1 rootie mit suse 9.1 und darauf läuft hauptsächlich ein älteres vbb (kein mittel für neuere lizenz).

ich wollt jetzt nur mal kurz fragen auf was ihr als erstes tippen würdet. ich selbst hab die situation noch nicht erlebt, aber es ist eben meine aufgabe solchen meldungen nachzugehen.

gibts im apache einen wert für maximale verbindungen? gibts kernel-seitig eine begrenzungsmöglichkeit die evtl. aus versehen greift?
kawfy
Posts: 307
Joined: 2002-08-08 23:45
 

Re: kein connect zum webserver bei hoher last?

Post by kawfy »

itti wrote:[...] seit neuem meldungen von usern dass sie ab und an nen timeout bekommen. das isn 1&1 rootie mit suse 9.1 und darauf läuft hauptsächlich ein älteres vbb (kein mittel für neuere lizenz).
[...]
gibts im apache einen wert für maximale verbindungen? gibts kernel-seitig eine begrenzungsmöglichkeit die evtl. aus versehen greift?
S. Apache-Doku: "MaxClients"-Direktive (http://httpd.apache.org/docs-2.0/mod/mp ... maxclients und dazugehörige Settings. Wenn das Limit nicht mehr reicht, schreibt der Apache eine deutliche Meldung ins Errorlog.

Bevor der Kernel nicht mehr mitspielt, ist wohl das Limit des Apaches oder der Hardware erreicht.

:?: ist das Gesamtsystem überlastet (load)? Das ist bei Webforen meist der Fall.
itti
Posts: 49
Joined: 2004-10-25 21:16
 

Re: kein connect zum webserver bei hoher last?

Post by itti »

dauerüberlastet nicht. top zeigt mir ganz sporadisch mal nen httpd-prefork mit 70 cpu aber das is schnell wieder weg. der "cpu-renner" ist eigentlich top selbst.

Code: Select all

 1:18am  up 69 days  0:02,  1 user,  load average: 0.33, 0.26, 0.20
kawfy
Posts: 307
Joined: 2002-08-08 23:45
 

keine Last

Post by kawfy »

ok, Ã?berlastung scheidet aus. Steht in dem Apache-Errorlog ein Hinweis auf "MaxClient"? Vergleiche mal die Anzahl der laufenen Apache-Prozesse ("ps x| grep httpd|wc -l") mit der Einstellung von "MaxClients" in der Apache-Konfiguration. Die Maximalanzahl sollte eher nicht erreicht werden. :oops: Allerdings ist das beim 2.0er nicht so einfach (bzw. ich hab's selbst noch nicht so ganz verstanden :lol: ). Da gibts es die prefork- und die worker-Gruppe ... :roll:
itti
Posts: 49
Joined: 2004-10-25 21:16
 

Re: kein connect zum webserver bei hoher last?

Post by itti »

bei

Code: Select all

ps ax | grep httpd | wc -l
hab ich 16 stück

bei

Code: Select all

ps x | grep httpd | wc -l
wären gerade mal 2
ich denk aber im moment ist noch nicht rush hour.

im error log sind keine einträge mit MaxClient zu finden...

auszug aus /etc/apache2/server-tuning.conf:

Code: Select all

##
## Server-Pool Size Regulation (MPM specific)
##

# the MPM (multiprocessing module) is not a dynamically loadable module in the
# sense of other modules. It is a compile time decision which one is used. We
# provide different apache2 MPM packages, containing different httpd2 binaries
# compiled with the available MPMs. See APACHE_MPM in /etc/sysconfig/apache2.

# 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
        ServerLimit         256
        # maximum number of server processes allowed to start
        #MaxClients         150
        MaxClients          256
        # maximum number of requests a server process serves
        MaxRequestsPerChild  0
</IfModule>
da meine prozesse httpd-prefork heißen bin ich davon ausgegangen auch prefork modul einzusetzen und hab wie hier zu sehen die werte von ServerLimit und MaxClients bereits erhöht.
kawfy
Posts: 307
Joined: 2002-08-08 23:45
 

timeout -- mysql locks?

Post by kawfy »

-- ja, das mit "ps x" war falsch, "ps ax" ist richtig, weil damit die Prozesse des Users root und vom Apache-User angezeigt werden. :oops:

Wie mir scheint, ist deine Apache-Konfig OK, auch mit 150 bei MaxClients. Das war also die falsche Fährte. :(

Deine Besucher melden einen "timeout". Heißt das, dass der Browser die Domain gar nicht erst aufrufen kann (DNS timeout) oder dass einfach die Seiten von VBB nicht schnell genug aufgebaut werden können (Request timeout)? Wahrscheinlich letzteres (sorry wg. der Nachfrage). :idea: Schau dir mal die Mysql-Preozessliste an (mysqladmin processlist"), während du die Forenseiten abrufst (besser: wenn sowieso gerade viel los ist). Vielleicht gibt es beim Zugriff auf die Tabellen zu viele "locks"? Oder es gibt Fehler in der Datenbank? ("mysqlrepair ...")

Es könnte noch sein, dass die Platte 'ne Macke hat -- das würdest du aber wohl auch an anderer Stelle merken.
itti
Posts: 49
Joined: 2004-10-25 21:16
 

Re: kein connect zum webserver bei hoher last?

Post by itti »

ich schätze mal ganz stark dass es sich nicht um nen timout beim auflösen der domain handelt, weil das ja 1&1 für mich macht. es gibt aber ansonsten keinerlei response vom server selbst. also ein richtiger timeout. keine mysql-fehlermeldung oder sonstiges.

am mysql überwachen bin ich auch im moment.

so nebenbei is mir noch aufgefallen dass der erste aufruf auf die domain immer relativ lange dauert. das kann aber gern an irgend einem dns problem von t-online liegen (zumindest bei mir). da bin ich noch nicht so ganz schlau.
Post Reply