El comando du, que se utiliza para recuperar el espacio en disco utilizado por las cargas, estaba causando problemas de rendimiento en mi panel de administración. Sí, tenemos MUCHAS cargas de imágenes. En lugar de deshabilitarlo por completo (después de todo, tenemos el panel de control de Grafana/Prometheus), decidí reemplazarlo con una aproximación muy aproximada y mucho más rápida utilizando df. Este cambio, por supuesto, es seleccionable por el administrador, siendo la opción predeterminada du.
He enviado una PR para este cambio. Es mi primera PR, así que por favor, tómenlo con calma :))
¿Tienes una idea aproximada de cuánto tiempo tardaba du para ti? No me convence mucho este enfoque para resolver el problema de rendimiento y creo que hay dos alternativas:
Simplemente usa Upload.sum(:filesize).to_i + OptimizedImage.sum(:filesize).to_i para determinar uploads_used_bytes como lo hacemos para las tiendas externas.
Introduce un trabajo en segundo plano que recalcule periódicamente los bytes utilizados por las cargas y los almacene en caché en Redis.
Personalmente, me inclino más por la opción (1), ya que es una solución mucho más simple. Perdemos algo de precisión, pero no necesitamos una precisión del 100% aquí. Aun así, será mucho mejor que la aproximación que obtenemos de df.