Gran archivo Javascript en la carpeta assets

Uno de los archivos, /assets/application-7c87db9088046beb643be94b61428105469e084e8d02f141c57adfaf14168c63.js, tiene un tamaño de casi 3.1 MB y está causando muchas advertencias en error.log del proxy inverso de Nginx.

an upstream response is buffered to a temporary file /var/lib/nginx/proxy/2/77/0012036772 while reading upstream, client: XXXXXX

  • ¿Alguien sabe para qué se utiliza este archivo de JavaScript tan grande?
  • ¿Existe alguna forma de reducir el tamaño de este archivo? Una manera de reducir las advertencias en Nginx sería aumentar el tamaño del búfer a 3.1 MB, pero ¿no es eso demasiado respecto a la configuración predeterminada de Nginx?

Cuando cargas por primera vez un sitio de Discourse, se envía la aplicación completa de JavaScript al navegador (luego se almacena en caché, de modo que las cargas de página subsiguientes son mucho más rápidas). Eso es lo que es ese archivo de 3 MB.

También vale la pena tener en cuenta que, al seguir la guía de instalación oficial, obtienes un proxy inverso de nginx preconfigurado que sirve este archivo usando compresión brotli, lo que reduce su tamaño a 400 KB.

Gracias @Falco. Se está utilizando un contenedor web y uno de datos separados, junto con una configuración manual del proxy inverso. Parece que la guía en discourse/docs/INSTALL-cloud.md at main · discourse/discourse · GitHub está pensada para un contenedor independiente.

Para una configuración de proxy inverso nginx preconfigurada, ¿te refieres a utilizar la configuración de discourse/config/nginx.sample.conf at main · discourse/discourse · GitHub?

Ese archivo de configuración es la plantilla que utilizamos en la guía de instalación oficial, pero el script de instalación lo modifica en gran medida durante el proceso.

Temo que solo proporcionamos el archivo de configuración cuando se sigue nuestra guía de instalación oficial. Si te desvías de ella, deberás tener cuidado de no perder todas las funciones que soportamos, como brotli, HTTP/2, IPv6, etc.

@Falco Al leer el foro de Discourse, se puede percibir que se prefiere o incluso se recomienda tener contenedores web y de base de datos separados. Sería excelente contar con una guía oficial sobre la configuración manual de nginx o la configuración automática para contenedores separados.

Nuestra forma preferida de instalar es la que documentamos como nuestra guía oficial de instalación. Dicho esto, el uso de un contenedor web/datos separado no afecta al nginx preconfigurado dentro del contenedor web; debería funcionar de la misma manera, sin necesidad de un proxy inverso adicional.

Buscando optimización al alojar múltiples foros de Discourse utilizando: proxy Nginx → contenedores Web y DB separados. En este escenario, asumo que las mejoras de rendimiento realizadas por la instalación oficial deben configurarse manualmente en el proxy Nginx.