Apache Requests nach X Minuten beenden?

Alles, was den Apache betrifft, kann hier besprochen werden.

Apache Requests nach X Minuten beenden?

Postby loddi » 01. July 2008 12:14

Hallo,
ich habe folgendes Problem und hoffe hier einen Spezialisten zu finden der mir helfen kann: Die Nutzer meiners Web-Portals laden eine ca 9MB große JAR-Datei herunter, mit der sie eine Applikation starten können. Durch viele User, die jedoch eine zu schmale Verbindung haben, werden zu viele Apache-Prozesse blockiert, die dann 10 und mehr Minuten lang die besagte JAR-Datei an die User rausschicken. Durch die blockierten Prozesse können schnell beendende requests an normale websites kaum mehr ausgeführt werden da keine freien Prozesse mehr zur Verfügung stehen.

Grundsätzlich könnte man nun die anzahl der Connections erhöhen, allerdings ist der Load schon über 1, weshalb das die performance nicht effektiv steigern würde.

Nun meine Frage: Kennt jemand eine Einstellungsmöglichkeit beim Apache die es ermöglicht Requests die länger als 3 Minuten dauern automatisch zu beenden?

Die normale TimeOut direktive ist dafür ungeeigent da sie nur die Zeit für den kompletten transfer von z.B. POST-Daten misst, nicht aber die Zeit die der Sever für das Antworten braucht.

Eine unschöne Lösung wäre ein cronJob der alle 3 Minuten mit Hilfe eines shell scripts die entsprechenden apache Prozesse killen würde. Dabei bin ich mir aber nicht sicher welche Auswirkungen das auf die Systemstabilität hat.

Vielen Dank für Eure Antworten

- Loddi

PS: der Apache läuft mit dem apache2-mpm-prefork Modul. Ich habe gehört mit anderen Modulen könnte es evtl. auch andere Einstellungsmöglichkeiten geben, hat da jemand Tipps? Ich habe beim Googeln nichts darüber gefunden :(
loddi
 
Posts: 2
Joined: 01. July 2008 12:09

Postby deepsurfer » 04. July 2008 13:23

hhmmm.......eine direkte Lösung hab ich nicht, mir fällt da spontan die möglichkeit ein, einfach dieses 9MB Jarfile über einen externen (weiteren) Server übertragen zu lassen.

Wenn mich nicht alles täuscht müsste auch eine FTP-Verbindung den selben effekt haben. also einen Absoluten LINK auf eine FTPadresse, die den Download durchführt und somit getrennt vom Apache läuft.

Ansonsten wäre noch die Idee das 9MB JAR auf zu stückeln und in kleinere Portionen für die einzelnen Contents zur Verfügung zu stellen, denn im jetzigen Zustand zwingst du einen User 9MB auf obwohl dieser im ganzen Surfverhalten nur einen Bruchteil dessen besucht was dieses JAR zur Verfügung stellt.
chirio Deep
Wie sagte einst der MCP aus Tron auf dem Bildschirm zu schreiben Pflegte
" ... end of communication ... "
User avatar
deepsurfer
AF Moderator
 
Posts: 6440
Joined: 23. November 2004 10:44
Location: Cologne
Operating System: Win-XP / Win7 / Linux -Debian

Postby loddi » 04. July 2008 13:50

Hi, Danke für die Antwort,
allerdings kommt das nicht in Frage, da die jar, wenn sie von einem anderen server geladen wird, eine security exception wirft, was den user zum bestätigen unseriöser inhalte zwingen würde...

Die Jar zu zerstückeln wäre zwar möglich, allerdings braucht die applikation dann die inhalte aller teile, was uns nicht viel weiter bringt.

Mittlerweile habe ich die größe uach auf 4,3 MB klein optimiert, das Grundproblem bleibt aber bestehen...

Hat noch jemand einen Tip?
loddi
 
Posts: 2
Joined: 01. July 2008 12:09


Return to Apache

Who is online

Users browsing this forum: No registered users and 3 guests