Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

197
Vistas
La descarga de archivos ZIP transmitidos desde Rails en Heroku aumenta el uso de la memoria

Estoy usando zipline para generar y transmitir un archivo ZIP como una descarga del navegador. La generación y la descarga del ZIP ocurren simultáneamente. Todo funciona como se esperaba, pero Heroku parece usar cantidades cada vez mayores de memoria a medida que se descargan los archivos. El aumento en el consumo de memoria es generalmente cercano, pero no tan grande, como el tamaño del archivo zip que se descarga. El ZIP está comprimido, pero el contenido ya está muy comprimido, así que no creo que esta diferencia se deba a eso. La activación constante de una nueva descarga del mismo ZIP aumenta repetidamente el uso de la memoria, pero parece disminuir.

No hay pérdida de memoria pasiva, pero al menos hasta donde Heroku informa, está claro que algo sobre este proceso solicita más memoria y no parece liberarla nunca al sistema operativo (?).

Últimas 24 horas:

uso de memoria en las últimas 24 horas

Últimas 2 horas:

Uso de memoria de las últimas 2 horas

Métricas de Ruby según lo informado por Heroku:

métricas de memoria de heroku ruby

Prácticamente cada aumento brusco en los gráficos de uso de memoria es una descarga ZIP que se activa. Cambié a un banco de pruebas con 1 GB de memoria en lugar de 512 MB para ver si ayudaría o liberaría memoria, pero no fue así.

Las ranuras de memoria libres de Ruby y los objetos del montón no parecen cambiar en absoluto. No sé si esto es una falla en el complemento de métricas beta en Heroku, pero no sé cómo investigarlo.

La gema zipline usa ZipTricks como back-end, y he vuelto a implementar lo que ya había hecho con ZipTricks directamente y encontré exactamente el mismo problema.

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

https://github.com/schneems/puma_worker_killer ¿Por qué no pruebas esto? La fragmentación de la memoria parece progresar incluso cuando se realiza la liberación de la memoria.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda