Der Befehl du, der verwendet wird, um den von Uploads belegten Speicherplatz abzurufen, verursachte Leistungsprobleme für mein Admin-Dashboard. Ja, wir haben VIELE Bild-Uploads. Anstatt ihn ganz zu deaktivieren (wir haben schließlich ein Grafana/Prometheus-Dashboard), habe ich beschlossen, ihn durch eine viel schnellere sehr grobe Annäherung mit df zu ersetzen. Diese Änderung ist natürlich vom Administrator wählbar, wobei der Standardwert du ist.
Ich habe einen PR für diese Änderung eingereicht. Es ist mein erster PR, also gehen Sie bitte nachsichtig mit mir um :))
Haben Sie eine grobe Vorstellung, wie lange du bei Ihnen gedauert hat? Ich bin von diesem Ansatz zur Lösung des Leistungsproblems nicht wirklich überzeugt und denke, es gibt zwei Alternativen:
Verwenden Sie einfach Upload.sum(:filesize).to_i + OptimizedImage.sum(:filesize).to_i, um uploads_used_bytes zu ermitteln, so wie wir es für externe Speicher tun.
Führen Sie einen Hintergrundauftrag ein, der die von Uploads verbrauchten Bytes periodisch neu berechnet und im Redis-Speicher zwischenspeichert.
Ich persönlich bin eher für (1), da dies eine wesentlich einfachere Lösung ist. Wir verlieren zwar etwas an Genauigkeit, aber wir brauchen hier keine 100%ige Genauigkeit. Dennoch wird es viel besser sein als die Annäherung, die wir von df erhalten.