Hi Jan, vielleicht kannst Du den net/http-Aufruf einmal darstellen. Du schreibst, dass das net/http Object EINIGE Anfragen im Hintergrund absetzt. Sind dies mehr als acht Anfragen? Setze doch mal jeweis eine Anfrage ab und schließe den request dann einmal korrekt. Vielleicht bleibt der geöffnete request "offen" bis alle Anfragen beendet sind und blockiert solange auch den mongrel. Meine Vermutung ist, dass sehr schnelle alle mongrel-instanzen belegt sind bis das net/http-Objekt geschlossen wird.
Gruß Jan Am 24. August 2008 12:39 schrieb Jan Roesner <[EMAIL PROTECTED]>: > Hallo Leute, > > ich habe ein eigenartiges Problem mit einem Projekt, dass noch auf Rails > 1.1.6 läuft, Ruby 1.8.5, Mongrel 1.1.5 nutzt. Apache dient als Balancer und > ist so konfiguriert, dass er bis zu 8 Mongrelinstanzen versorgen kann. Der > Mongrel Cluster ist auch korrekt konfiguriert, von 8000 bis 8007 lauschen > die Jungs tatsächlich. > > Starte ich 'ab' um zu testen: ab -n 1000 -c 8 http://www.meinprojekt.de/ > > und schaue mit top die Prozessliste auf dem Server an, rennen da > erwartungsgemäß 8 Instanzen von mongrel_rails und fackeln die 1000 Requests > erstaunlich schnell in 54 Sekunden ab. So weit, so gut. > > Jetzt habe ich im Backend des Projekts eine Action eingebaut, die, wenn sie > aufgerufen wird, ein net/http Object instanziert, dieses für einige Abfragen > im Hintergrund nutzt, und erst dann returniert, wenn alle Requests > abgeschlossen und das http Object destroyed wurden. Ein Aufruf dieser Action > kann bis zu 90 Sekunden dauern. > > Hier kommt jetzt das Problem ins Spiel. Rufe ich diese Action von meinem > eigenen Host auf, können andere von aussen keine Seiten des Projektes mehr > abrufen. Es wird auch keine weitere Mongrel Instanz hervorgeholt, solange > mein Request läuft. Rufe ich den Indianer Benchmarker wie oben auf, gibt > dieser auch nach einigen Requestversuchen mit Timeout auf. > > Ich habe dafür i.A. keine Erklärung. Vorallem weil die besagte Action > wirklich nichts besonderes tut, HTTP:NET instanzieren, ein paar GET Requests > absetzten, Daten mit RegEx'es parsen und ausspucken. > > Hat jemand von Euch eine Erklärung dafür? Vielleicht habe ich auch nur > einen Denkfehler. > > Grüße > Jan > jan [ a t ] roesner [d o t] > it_______________________________________________ > rubyonrails-ug mailing list > [email protected] > http://mailman.headflash.com/mailman/listinfo/rubyonrails-ug > -- Jan Prill Rechtsanwalt Babendiekstraße 60 B 22587 Hamburg Tel +49 (0)40 41265809 Fax +49 (0)40 380178-73022 Mobil +49 (0)171 3516667
_______________________________________________ rubyonrails-ug mailing list [email protected] http://mailman.headflash.com/mailman/listinfo/rubyonrails-ug
