Requisitos mínimos de recursos
Cada proyecto alojado en la plataforma de Square Cloud tiene requisitos mínimos de recursos específicos para garantizar un rendimiento óptimo:- Bots: Se requiere un mínimo de 256 MB de RAM.
- Sitios web: Se requiere un mínimo de 512 MB de RAM.
- Bases de datos de caché: Se requiere un mínimo de 512 MB de RAM.
- Bases de datos generales: Se requiere un mínimo de 1 GB de RAM.
¿Por qué existen los mínimos de RAM?
Los contenedores tienen una sobrecarga operativa obligatoria: el runtime del lenguaje, las bibliotecas del sistema operativo y los búferes de red. Por debajo de 256 MB, el OOM Killer del kernel tiende a terminar procesos durante el arranque o la recolección de basura, lo que hace inviable la aplicación. Implicaciones técnicas:- Cada contenedor consume 1 IPv4 dinámica y IOPS de almacenamiento NVMe
- Las asignaciones mínimas evitan la fragmentación de recursos (efecto de vecino ruidoso)
- Fórmula de snapshots diarios:
(Total RAM / 256) * 2(aproximada; la asignación exacta por plan puede ser menor en los niveles superiores)
Datos de impacto: Tras implementar el límite mínimo de 256 MB, la estabilidad de las aplicaciones aumentó drásticamente, reduciendo la tasa de fallos por OOM (Out of Memory) en un 97,7%.
Asignación de CPU
Respuesta corta: la CPU se asigna en función de la RAM configurada. Aumentar la RAM normalmente otorga más vCPUs.Reglas
Planes de una sola vCPU
Las aplicaciones en planes de 1 vCPU reciben capacidad completa sin throttling.Planes multinúcleo (≥2 vCPU)
- Piso de rendimiento: las aplicaciones con ≥512 MB de RAM reciben al menos 2 vCPUs.
- Escalado proporcional:
- Hobby (≤2 vCPU): +1 vCPU por cada 512 MB de RAM
- Standard / Pro / Enterprise: +1 vCPU por cada 1 GB (1024 MB) de RAM
Ejemplos
Throttling y límites de seguridad
El sistema aplica el límite de vCPU del plan y realiza un nivelado para mantener una distribución justa. La elasticidad a corto plazo puede otorgar vCPUs adicionales durante picos, pero no está garantizada. Usos prohibidos de la CPU:- Minería de criptomonedas
- Cargas de trabajo de ML intensivas y sin restricciones sin autorización
- Abuso deliberado de recursos
LACK_OF_CPU.
Límites de red
Cada aplicación cuenta con ancho de banda dedicado, igual para subida y descarga, que escala proporcionalmente a la RAM asignada: +50 Mbps por cada 256 MB. Está reservado para tu contenedor, nunca se comparte con vecinos, y el tráfico nunca se mide ni se cobra. Algunos ejemplos:
Para cargas sostenidas de alto tráfico, soporte puede configurar un clúster dedicado.
Turbo de arranque. Cada arranque recibe un impulso muy por encima del ancho de banda del plan: instalar dependencias, descargar modelos o reconstruir cachés es rápido, sea cual sea tu asignación.
Las bases de datos tienen su propio ancho de banda dedicado, en ambas direcciones, dimensionado según su RAM.
Límites de almacenamiento
Todos los proyectos reciben 10 GB de almacenamiento NVMe de forma predeterminada. Características:- NVMe de nivel empresarial
- Persistente a través de despliegues y reinicios
- Alto IOPS y rendimiento
Estados de límite excedido
Cuando una aplicación supera sus recursos, Square Cloud la detiene, escribe en sus logs una línea[SQUARE-SHIELD] con el motivo y te envía un correo. Esta tabla es la referencia a la que enlazan las demás páginas; las soluciones están debajo.
El centro de ayuda explica los correos de alerta en alerta de caída: bloqueos por RAM, CPU y peticiones.
LACK_OF_RAM
La aplicación alcanzó la RAM asignada, así que el proceso se detuvo para proteger el host. Cómo solucionarlo:- Encuentra fugas de memoria con un profiler (Node.js:
--inspect, Python:memory_profiler). Consulta fugas de memoria en Node.js. - Reduce las cachés en memoria o muévelas a Redis.
- Aumenta la RAM de la aplicación en el dashboard, o sube
MEMORYen el archivo de configuración.
LACK_OF_CPU
La aplicación usó todas sus vCPUs durante un periodo prolongado, así que el proceso se detuvo. Cómo solucionarlo:- Perfila los puntos calientes de CPU (Node.js:
0x, Python:cProfile). Consulta CPU al 100%: consejos de optimización. - Optimiza los bucles calientes, las consultas a la base de datos y las operaciones limitadas por I/O.
- Aumenta la RAM para obtener más vCPUs (consulta la asignación de CPU).
- Mueve el trabajo pesado a workers asíncronos o trabajos por lotes.
CONTAINER_TEMPORARILY_SUSPENDED
Los logs mostraron[SQUARE-SHIELD] ABUSE_REQUESTS: la aplicación envió solicitudes a Discord o a sitios squareweb.app a un ritmo abusivo durante un periodo prolongado. Casi siempre se trata de un bucle infinito, un reintento sin espera o una caché que falta, no de popularidad real. La aplicación se detuvo y, hasta que termine el bloqueo, al iniciarla falla con CONTAINER_TEMPORARILY_SUSPENDED.
Cómo solucionarlo:
- Lee el correo y los últimos logs para encontrar el código que envía las solicitudes.
- Guarda en caché lo que consultas, agrega una espera entre reintentos y respeta los encabezados de rate limit de la API que llamas. Consulta rate limits de la API de Discord.
- Espera un momento y vuelve a iniciar la aplicación.

