RE: Gekillter Apache?

2004-05-08 Diskussionsfäden Christopher Gerharz
Hallo, Max!

Danke für deine Antwort!


Max Dittrich  schrieb:
> Christopher Gerharz wrote:
>> Hallo, Liste!
>>
>> Ich habe auf meinem Server ein Problem: In letzter Zeit häufen sich
>> die abgestürzten Apache Prozesse ().
>
> Mit sowas hatte ich bisher noch keine Erfahrungen, aber ich
> schick Dir
> trotzdem mal meine ersten Gedanken.
>
> Werden die Zombies nach und nach von Apache eingesammelt und
> verschwinden oder bleiben sie sehr lange bestehen?

Verschwinden sofort. Ich hab nur mit einer hohen Refresh-Zeit bei top
die Möglichkeit sie überhaupt zu sehen.
Auf der Status-Seite (/server-status) tauchen sie erst garnicht auf.

>
>> Ich habe mir eine Log mit PIDs erstellen lassen und mir die PIDs der
>> abgestürzten httpd-Prozesse notiert.
>>
>> ALLE hatten als Request ein Bild (GET).
>
> AFAIK ist das Logging die letzte Phase eines Requests. Also wenn ein
> Child in einer früheren Phase "abstürzt", dürftest Du keinen
> Hinweis auf
> den bearbeiteten Request im access_log finden.

Als ich MaxRequestsPerChild hatte, standen auch die abgestüzten Prozesse
drin (ich habe mir die PID mit reinschreiben lassen).
Wenn das Logging die letzte Phase ist, kann ich mir das nur durch eine
Sache erklären: Sie stürzen beim Loggen ab. Logdateien zu groß oder
sonst was...

>
>>
>> Ich setze Apache 1.3.29 auf Debian (Woody) ein.
>
> Verwendest Du besondere Compilereinstellungen oder Apachemodule, die
> nicht zur Standarddistribution gehören?


debian:/usr/local/apache# bin/httpd -l
Compiled-in modules:
  http_core.c
  mod_env.c
  mod_log_config.c
  mod_mime.c
  mod_negotiation.c
  mod_status.c
  mod_info.c
  mod_include.c
  mod_autoindex.c
  mod_dir.c
  mod_cgi.c
  mod_asis.c
  mod_imap.c
  mod_actions.c
  mod_speling.c
  mod_userdir.c
  mod_alias.c
  mod_rewrite.c
  mod_access.c
  mod_auth.c
  mod_expires.c
  mod_so.c
  mod_setenvif.c
  mod_ssl.c
  mod_php4.c
suexec: enabled; valid wrapper /usr/local/apache/bin/suexec



>> Killt der Apache die Childs vielleicht auf diese "unsaubere" Weise,
>> wenn sie ihre MaxRequests überschritten haben?
>
> Glaube ich nicht. Das wird sicher sehr gezielt ablaufen (graceful).
>
> Hast Du den Loglevel mal auf Debug erhöht und geschaut ob es da
> zusätzliche relevante Meldungen gibt? Vielleicht möchtest Du
> Apache als
> Einzelinstanz mit '-X' starten (evtl. auf einem anderen Port parallel)
> und ihn so lange besurfen bis er abstürzt. Wenn Du zeitgleich tcpdump
> mitlaufen lässt (-w) kannst Du noch weitere Informationen zum letzten
> Request erfahren.

Wäre eine Idee, möchte ich aber nicht unbedingt, da der Server für's
Webhosting eingesetzt wird.
Da sind ausfälle schlecht. Auf einem anderen Port wäre möglich, aber da
habe ich halt nicht so viele Requests, wie normal.

Loglevel werde ich gleich erhöhen.




Gruß,
Chris



--
Apache HTTP Server Mailing List "users-de" 
  unsubscribe-Anfragen an [EMAIL PROTECTED]
   sonstige Anfragen an [EMAIL PROTECTED]
--



Re: Gekillter Apache?

2004-05-08 Diskussionsfäden Max Dittrich
Christopher Gerharz wrote:
Hallo, Liste!
Ich habe auf meinem Server ein Problem: In letzter Zeit häufen sich die
abgestürzten Apache Prozesse ().
Mit sowas hatte ich bisher noch keine Erfahrungen, aber ich schick Dir 
trotzdem mal meine ersten Gedanken.

Werden die Zombies nach und nach von Apache eingesammelt und 
verschwinden oder bleiben sie sehr lange bestehen?

Ich habe mir eine Log mit PIDs erstellen lassen und mir die PIDs der
abgestürzten httpd-Prozesse notiert.
ALLE hatten als Request ein Bild (GET).
AFAIK ist das Logging die letzte Phase eines Requests. Also wenn ein 
Child in einer früheren Phase "abstürzt", dürftest Du keinen Hinweis auf 
den bearbeiteten Request im access_log finden.

Ich setze Apache 1.3.29 auf Debian (Woody) ein.
Verwendest Du besondere Compilereinstellungen oder Apachemodule, die 
nicht zur Standarddistribution gehören?


Habt ihr eine Idee?
Killt der Apache die Childs vielleicht auf diese "unsaubere" Weise, wenn
sie ihre MaxRequests überschritten haben?
Glaube ich nicht. Das wird sicher sehr gezielt ablaufen (graceful).
Hast Du den Loglevel mal auf Debug erhöht und geschaut ob es da 
zusätzliche relevante Meldungen gibt? Vielleicht möchtest Du Apache als 
Einzelinstanz mit '-X' starten (evtl. auf einem anderen Port parallel) 
und ihn so lange besurfen bis er abstürzt. Wenn Du zeitgleich tcpdump 
mitlaufen lässt (-w) kannst Du noch weitere Informationen zum letzten 
Request erfahren.

gruss,
  .max

--
   Apache HTTP Server Mailing List "users-de" 
 unsubscribe-Anfragen an [EMAIL PROTECTED]
  sonstige Anfragen an [EMAIL PROTECTED]
--



Gekillter Apache?

2004-05-08 Diskussionsfäden Christopher Gerharz
Hallo, Liste!

Ich habe auf meinem Server ein Problem: In letzter Zeit häufen sich die
abgestürzten Apache Prozesse ().
Ich habe mir eine Log mit PIDs erstellen lassen und mir die PIDs der
abgestürzten httpd-Prozesse notiert.

ALLE hatten als Request ein Bild (GET).

Ich setze Apache 1.3.29 auf Debian (Woody) ein.


Habt ihr eine Idee?
Killt der Apache die Childs vielleicht auf diese "unsaubere" Weise, wenn
sie ihre MaxRequests überschritten haben?


Auszug aus httpd.conf:

##
## httpd.conf -- Apache HTTP server configuration file
##

### Section 1: Global Environment
ServerType standalone
ServerRoot "/usr/local/apache"
PidFile /usr/local/apache/logs/httpd.pid
ScoreBoardFile /usr/local/apache/logs/httpd.scoreboard
Timeout 300
KeepAlive Off
MaxKeepAliveRequests 10
KeepAliveTimeout 5
MinSpareServers 10
MaxSpareServers 15
StartServers 5
MaxClients 250
MaxRequestsPerChild 1
ExtendedStatus On

MaxRequestPerChild ist sonst auf 1, jetzt auf 1 zum Test (damit
jeder Request eine einzelne PID bekommt).
KeepAlive ist sonst an.


Gruß,
Chris



--
Apache HTTP Server Mailing List "users-de" 
  unsubscribe-Anfragen an [EMAIL PROTECTED]
   sonstige Anfragen an [EMAIL PROTECTED]
--