Ich hoste alle meine Upload-Dateien auf einem NAS-Speicher (glusterfs).
Kürzlich habe ich festgestellt, dass es einen enormen und konstanten Netzwerkverkehr auf dem NAS gibt. Dies habe ich auf Discourse zurückgeführt, das nach optimierten Bildern fragt. Gibt es einen Job, der diese Bilder ständig abruft? Warum? Und wie kann ich ihn ausschalten?
Möglicherweise die Auffüllung, die @david für die Suche nach der primären Bildfarbe hinzugefügt hat.
Sie wird irgendwann abgeschlossen sein und in einen stabilen Zustand zurückkehren.
Wir müssen alle Bilder für die Auffüllung durchgehen. Möglicherweise können Sie dies umgehen, indem Sie die Farbe aller Bilder auf Weiß oder etwas Ähnliches erzwingen.
Es arbeitet mit 25 Bildern pro 15 Minuten. Ja? Das sollte sehr vernachlässigbar sein. Ich sehe Tausende von Dateien, die jede Minute nachgeschlagen werden.
Und wenn ich mir die Bandbreite von vor 6 Monaten ansehe, sehe ich dasselbe Verhalten. Ich denke also, es sollte etwas anderes sein.
Ich bin mir jedoch ziemlich sicher, dass es von einem Discourse-Job oder etwas Ähnlichem gemacht wird, denn wenn ich die Discourse-App stoppe, verschwindet die Bandbreite. Wenn ich jedoch nur die Discourse-Nginx-App stoppe, bleibt die Bandbreite bestehen.
Die gesamte Hintergrundlogik wird in Sidekiq-Jobs ausgeführt. Wenn kein Job läuft und Sie immer noch hohe Festplatten-I/O haben, könnte es daran liegen, dass Benutzer Ihre Website besuchen und Bilder von Nginx ausgeliefert werden?
Haben Sie ein Caching-CDN, das statische Assets bereitstellt?
@Falco@sam Ich glaube, ich habe die Ursache gefunden.
Zuerst habe ich die Discourse-App neu gestartet, damit der ständige Datenverkehr verschwindet. Dann bin ich zum Admin-Panel gegangen und zum Abschnitt für Massenberichte. Es ist schon lange her, dass die Berichte hier nicht richtig angezeigt werden:
Unmittelbar nachdem die Berichte mit einem Timeout versehen werden, sehe ich den Sprung in der Netzwerkbandbreite. Und ich sehe diese Fehlermeldung in den Fehlerprotokollen:
'hijack admin/reports bulk ' läuft nach 90 Sekunden auf db default immer noch, dieser Prozess muss möglicherweise neu gestartet werden!
Ich denke, die Berechnung des belegten Speicherplatzes auf einem NAS-Ordner mit vielen Dateien wäre sehr zeitaufwändig und die Hauptursache für die hohe Bandbreitennutzung.
Ich verstehe. Das Ergebnis dieses Berichts ist zwischengespeichert, aber ich schätze, es wird nie abgeschlossen und kann nicht zwischengespeichert werden, weil Ihr Netzwerkspeicher zu langsam ist.
Gibt es also etwas, das wir tun können, um dies zu verhindern? Zum Beispiel, es wie S3-Uploads zu behandeln, bei denen wir die Festplattengröße nicht berechnen