2016-07-01 20 views
4

Newrelic Überwachung auf frische Ruby on Rails-Anwendung mit Sidekiq, und nicht viel Logik implementiert und nicht viel Verkehr zeigt, dass Redis dauert lange (ca. 2s-3s) auf brpop Operationen.Rails Sidekiq Redis lange Operation wegen brpop

warum ist das?

ist das ein Problem in Bezug auf die Leistung?

Antwort

4

auf der Grundlage der Informationen in dieser Ausgabe https://github.com/mperham/sidekiq/issues/2581 dies ist ein normales Verhalten für Sidekiq:

@jonhyman Kommentar

brpop ist ein Sperrbefehl, zu sehen, wenn Sie also nicht viel haben von Jobs wird dann jeder für 1 Sekunde blockieren.

siehe @ryansch Kommentar:

Sie dieses Verhalten möchten. Das ist, was sidekiq tut, während es auf Arbeit wartet. Es ist eine lange blockierende Operation, weil redis sidekiq dann über Arbeit erzählen kann, sobald es ankommt. Die Alternative wäre eine Umfrage, die wir sicherlich nicht wollen. Ich sehe das gleiche in meinem neuen Relikt-Dashboard. Keine Bange.

Also nein, es ist kein Problem. Sidekiq versucht tatsächlich, einfallsreicher zu sein und Redis die dreckige Arbeit machen zu lassen, ihn wissen zu lassen, wenn es eine neue Aufgabe gibt, indem er die Verbindung auf dieser brpop Operation

hält