Hi Jan, > Ok. Wegen meiner vorherigen Vermutung noch eine Frage: Ist es so, dass > der Webservice, den Du ansprichst, ebenfalls auf Deinem localhost > läuft?
Sorry, hatte ich wahrscheinlich ein wenig umständlich ausgedrückt. Ich spreche aber tatsächlich andere Dienste draussen an. Nichts auf meinem eigenen Host. > So hatte ich Deine erste Schilderung vestanden. Dass Du mittels eines > net/http-objektes ebenfalls Deine eigenen mongrels ansprichst. Sicher, > dass macht auf den ersten Blick keinen Sinn, aber - das wissen wir > alle - manchmal geht man seltsame Wege. Ja :o) .... in dem Fall aber wirklich nicht. > Dann hätte es nämlich so sein können, dass Deine requests aus dem > net/http-Objekt Deine eigenen mongrels blockieren. Dann wäre das aber ziemlich durchsichtig gewesen ;o) .... > Was passiert denn im Log? Wird da wirklich nur einer der acht mongrels > von dem net/http-Kram blockiert? Ja, genau das ist ja auch ok. Natürlich soll dieser eine Request den ich mit meinem Browser an den Host absetze, dort nur genau einen der Mongrels beanspruchen. Das tut er auch. Ein mongrel_rails läuft dort, wenn ich den Request abfeuere, und dies auch solange, bis die eigentliche Action, die die WebServices anspricht, returniert. > Wenn das so ist kann der Fehler ja eigentlich nur im Load-Balancing > liegen, ansonsten müssten die anderen mongrels requests beantworten. Genau das habe ich auch gedacht. Ist aber (zumindest) scheinbar nicht der Fall. Deswegen habe ich ja mal mit dem Apache Benchmarker getestet und eben 1000 Requests mit 8 gleichzeitigen connections auf die Frontpage des Projektes abgesetzt. Wenn ich das tue, sehe ich in der Prozessliste des Servers auch wie erwartet 8 Instanzen von mongrel_rails. Und die Requests werden auch einwandfrei und parallel abgearbeitet. Lustig ist jetzt folgendes. Ich starte einen Request auf meine "böse Action". Diese läuft jetzt ca. 90 Sekunden. In diesen 90 Sekunden starte ich den "ab" nochmal mit den gleichen Parametern. Ergebnis: In der Prozessliste des Servers ist nur ein mongrel_rails zu sehen - scheinbar der, der meine böse Action bearbeitet - und "ab" gibt nach kurzem mit einem Timeout auf. Noch lustiger ist folgendes. Starte ich kurz vor Ablauf der 90 Sekunden den "ab", so bekommt der vom Server keine Responses. Exakt ab dem Augenblick, in dem meine "böse Action" zurückkommt, rennen auch bei "ab" die Responses rein, und in der Prozessliste des Servers starten die restlichen 7 mongrel_rails Instanzen. Irgendwie scheint es also so zu sein, dass diese "böse Action" dafür sorgt, dass kein weiterer mongrel_rails starten kann. An der Balancer Config scheint es also nicht zu liegen. Nettes Ding oder :o) .... Grüße Jan Roesner jan [ a t ] roesner [ d o t ] it
_______________________________________________ rubyonrails-ug mailing list [email protected] http://mailman.headflash.com/mailman/listinfo/rubyonrails-ug
