Hi,
ein Apache2 führt auf einem Debian Lenny beim Download einer 4 MB großen
EXE-Datei per HTTP zu einer Verzögerung, die den Download praktisch zum
Erliegen bringt. Der Server ist als name-based Virtual Host aufgesetzt,
der auschließlich statischen Inhalt ausliefert.
top, iotop, apachetop und vmstat brachten keine Überbelastung zu Tage.
Für den anderen, PHP ausführenden, Virtual Host schaltete ich den
php5-xcache zu, der allerdings beim problematischen Virtual Host keine
Verbesserung brachte.
Wireshark meldet einige korrekt übertragene, per HTTP koordinierte,
Pakete (TCP segment of a reassembled PDU) mit Window size zw. 4000 und
7000. Die entspr. ACKs enthalten eine leicht kleiner werdender TCP
Window Anfrage um die 140.000! Danach sendet der Windows Client ein TCP
Window Update Req im ACK Packet. Daraufhin sendet der Server nach
Wartezeit eine Retransmission, die vom Client wieder (mit einer
140.000er Window size) ge-ACK-ed wird. Das darauf folgende Paket
wiederum wird nicht ge-ACK-ed, was zu einer Retransmission führt. So
geht das immer weiter. Der Download wird zwar aufdem Client
weitergeführt, aber da laufen nur ein paar Bytes/Sek durch die Leitung.
Auf einem Ubuntu-System mit modernerem Apache2 (Version unbekannt) läuft
der Download des gleichen Inhalts zum gleichen Client ohne Probleme.
Routing-Probleme sind wohl auszuschließen: der User ist ein CCIE!
Google brachte keine mir erkennbare Lösung. Was kann ich auf den
Debian-Apache oder -System ändern, damit das nicht auftritt?
Gruß
Silvério
--
----------------------------------------------------------------------------
PUG - Penguin User Group Wiesbaden - http://www.pug.org