2012-09-26 6 views
6

Ich frage mich, was ist der beste Weg, Einhorn Timeouts von meiner App zu verfolgen.Einhorn Timeout-Behandlung

Es gibt einige Bits der App, die langsam sind und sie derzeit still Timeout. Ich könnte die Auszeit erhöhen, aber das schiebt das Problem unter den Teppich. Im Idealfall möchte ich eine Airbrake-Benachrichtigung oder etwas von diesem Effekt erhalten. Ich bin nicht auf der Suche nach einem Leistungsführer, sondern nach einer Möglichkeit, sich effizient und zuverlässig über Timeouts zu informieren.

Wie haben andere Leute Timeouts von ihrer Rails-App mit Einhorn behandelt? Scannen Sie das Nginx-Fehlerprotokoll? einen Handler in Unicorn Config einstecken? Handler in Nginx-Konfiguration?

[Ubuntu 12.04 + nginx + Einhorn + Schienen 3.2 + Rubin 1.9.3]

+0

Haben Sie eine Antwort gefunden? Wir verwenden Rack :: Timeout. – nroose

+0

Workaround war das Scannen der Nginx-Protokolle für 503 (oder etwa 50X, kann nicht abrufen) Status und sehen von dort. Kinda erfüllt das Ziel auf eine seltsame Art und Weise. –

Antwort

0

ich geneigt sein, würde ein Konto auf New Relic, nutzen ihr newrelic_rpm Juwel zu erstellen und Leistungsdaten zu diesem Problem sammelte in ihrem Internetanwendung. NR bieten eine kostenlose Kontoebene, die für diese Situation nützlich ist.

Der Nutzen der Verwendung dieser etwas faulen Instrumentierungsmethode ist zweifach: keine Notwendigkeit für eine benutzerdefinierte Instrumentierungsimplementierung in Ihrer Anwendung; und Sie müssen Ihre nachgeschalteten Webserver-Protokolle nicht nach 503-Serverfehlern durchsuchen.

+0

Hallo! Danke für die Antwort! Aber ich möchte momentan keinen neuen Service oder eine App vorstellen. Ich suche nach einem bestimmten Haken in der Timeout-Aufnahme von Unicorn –

+0

Dann sollten Sie vielleicht die "Konfigurator" und "Tuning" -Abschnitte des Unicorn-Handbuchs betrachten. – Sasha

0

Siehe die 'configurator' section der Unicorn-Handbuch-Website. Es gibt eine Reihe von Elementen rund um Backlog und Timeouts, die Ihnen die Kontrolle geben sollten, die Sie benötigen.

+0

Ich bin schon durch diese Seiten gegangen. Sie sprechen nicht so lange über die Handhabung von Timeouts, wie ich es verstehe. Sie sprechen nur über die Kontrolle der Timeout-Zeit. –

+0

Haben Sie zu den relevanten Teilen Ihres Anwendungscodes einen "Sicher" -Block hinzugefügt, der das Zeitlimit überschreitet? – Sasha

+0

Wenn ich alle langsamen Teile wüsste, würde ich nur diese Teile reparieren und nicht auf Timeout n alle kümmern. Ich bin speziell nur daran interessiert, Timeout zu handhaben, indem ich informiert werde. –