On Wed, Jun 23, 2004 at 01:34:17PM +0200, Frank Blechschmitt wrote:
hallo liste
ich kämpfe mit einem merkwürdigen phänomen welches ich unter suse 8.2 und apache 2.0.48 nicht hatte. im prinzip läuft alles einwandfrei nachdem ich das 9.1 inkl. aller updates und kernel patches zum laufen gekriegt hab. nur eines stört mich gewaltig: beim aufruf einer webseite über den port 80 dauert es initial ca. 2-4 sekunden bis die daten ausgeliefert werden. auf dem port 443 kommen praktisch sofort daten.
ich hab schon alles mögliche überprüft, so z.b. ob etwas mit dem dns nicht stimmt (reverse dns lookup) oder die hostnamelookup geschichte wirklich ausgeschaltet ist. aber sowas müsste sich ja dann auch auf den ssl teil des apache auswirken. auch das dahinterliegende php bzw. mysql kann die verzögerung nicht bewirken da diese module auch im ssl teil geladen werden.
jetzt bin ich ehrlich gesagt etwas ratlos was ich noch tun kann um die ursache herauszufinden. server-status sowie server-info ergaben auch nichts und in den logfiles steht auch nichts wirklich sachdienliches. achja, mit initial meine ich dass wenn man einmal die startseite bekommen hat und da auf einen link clickt gehts rasend schnell zur nächsten seite.
Sehr wahrscheinlich ein DNS-Problem. (Befindet sich das ganze in einer lokalen Domaene die auf .local endet?) Wenn das nicht so ist, hast Du vermutlich ein "allow from <hostname>" irgendwo. Hier IP-Adressen zu verwenden spart die DNS-Lookups. Im Zweifelsfall den Apache mal mit /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -DONE_PROCESS -DNO_DETACH starten, und sobald er laeuft mit strace -r -o httpd.strace -p $(pidof httpd2-prefork) dranhaengen. Dann den initialen Request absetzen (der dann 2-4 Sekunden dauert). Dann anhand der Timestamps in httpd.strace schauen, was apache waehrend der Zeit getrieben hat -- und das Resultat hier posten :^}
genügend prozesse laufen auch, es liegt also nicht daran das der apache am limit mit seinen prozessen ist. und wie gesagt, ssl seitig gehts einwandfrei ohne jegliche verzögerung.
einzige auffälligkeit in den logs ist dass es häufiger mal einen segmentation fault 11 für einen child prozess gibt. aber sowas hatte ich unter 2.0.48 auch und da reagierte der apache2 schnell wie gewohnt. und auch dass kann es eigentlich nicht sein, denn auch wenn kein child prozess abschmiert sind die inital-reaktionszeiten bescheiden.
Da waere dann interessant, bei welchen Requests genau diese Segfaults auftreten, sprich welche Bugs (vermutlich in PHP) sie triggern. Peter