WorkerKiller

Ressourcen- und / oder Speicherlecks und Fragmentierung sind in allen Programmiersprachen häufige Probleme. Es spielt keine Rolle, ob es dort einen Garbage Collector gibt oder nicht, eine kompilierte oder eine interpretierte Sprache. Ruby ist keine Ausnahme, und heute werden wir ein wenig über diese Probleme sprechen, Möglichkeiten, sie zu lösen, und sogar unsere eigenen schreiben.





Das Problem kann und tritt auf, wenn ein Prozess lange läuft und viele verschiedene Arbeiten ausführt. Die meisten dieser Probleme hängen mit Fehlern im Code zusammen, wobei der Code seine Geschäftsfunktion weiterhin recht korrekt ausführt. Sie sind nicht immer leicht zu finden und zu reparieren. Aber die Speicherfragmentierung erwartet uns ein wenig von der anderen Seite, und selbst korrekter Code kann allmählich fragmentierten Speicher ansammeln. In der Welt der Rails - Prozesse , die fallen unter die Kategorie der „long-playing“ sind in der Tat, ein Web - Server und verschiedene Management - Hintergrund / anstehenden Aufgaben -  DelayedJob



, Sidekiq



usw. Das ist ĂĽber sie und dann werden wir reden ..





Webserver

“” . /, (puma, unicorn), Phusion Passenger . “” -, Rails-. , :





, “”  —  .  —   — .  —  Passenger Enterprise .





 

- , DelayedJob



, ActiveJob



( “ ” ).  —   —  . Sidekiq



, DelayedJob



!





- DelayedJob



WorkerKiller



 — !





?

middleware



, , .





CPU, .  —  , , , “" —  Limiter



.





 —  Killer



. unicorn 



—  SIGTERM.  —  , Passenger Master Process . , , “inflight” . , :





passenger-config detach-process <PID>
      
      



, 500 , 100. Passenger  —  -, , .





!





-, , , - DelayedJob



. , , .





!









? WorkerKiller ? , .  —  , , , .  —  , .





Pflaster auf einer Schusswunde
Band-Aid on a bullet wound





, :





  • Giltab Unicorn killer





  • Gitlab Sidekiq killer





  • Killer puma





  • Wie man Speicher unter Linux zählt  - nur fĂĽr echte Männer





  • Killer fĂĽr Einhorn  - er war der erste!





  • So debuggen Sie Ruby-Lecks








All Articles