Hoher Netzwerkverkehr auf NAS-Speicher

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?

btw das Bereinigen von Upload-Website-Einstellungen ist in meinem Forum deaktiviert.

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.

Soweit ich sehe,

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.

1 „Gefällt mir“

Schauen Sie unter /sidekiq nach, dort sollten Sie sehen können, welche Jobs gerade laufen. Klicken Sie auf alle Tabs.

1 „Gefällt mir“

Es läuft kein Job. :thinking: . Gibt es noch andere Jobs, die hier nicht aufgelistet wären?

Oder vielleicht gibt es etwas im Container, das versucht, Dateien zu indizieren?

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?

Ich habe dies zuvor getestet.

:point_down:

Es liegt also nicht daran, dass Benutzer die Website besuchen. Wenn dies der Fall wäre, sollte der Datenverkehr verschwinden, wenn ich Nginx stoppe.

Sie müssen die Linux-Inspektionstools verwenden, um genau zu sehen, welche PIDs und Systemaufrufe gemacht werden.

2 „Gefällt mir“

@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!

Was läuft hier falsch?

Befindet sich die Datenbank im selben NAS-Speicher?

Nein, die Datenbank befindet sich auf der physischen SSD-Festplatte.

Nur der Upload-Ordner befindet sich im NAS.

Es gibt also keinen Zusammenhang zwischen diesen. Zurück zu

Tatsächlich glaube ich, dass es vielleicht eine Korrelation gibt. In meiner Testumgebung hier berechnet es den belegten Speicherplatz.

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.

Habe ich Recht? :thinking:

2 „Gefällt mir“

Nimmt das Ausführen von

df -Pk


df -P


du -s

auf dem Netzlaufwerk viel Zeit in Anspruch?

Diese beiden waren sofort erledigt

df -Pk

df -P

Allerdings zeigte du -s ein ähnliches Verhalten wie oben von mir berichtet.

Und es lief etwa 5 Minuten lang, ohne fertig zu werden, und ich musste es manuell abbrechen.

1 „Gefällt mir“

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

1 „Gefällt mir“