Pular para o conteúdo principal
A Square Cloud implementa limites de recursos baseados em containerização para garantir isolamento, estabilidade e distribuição justa de infraestrutura entre aplicações.

Requisitos Mínimos de Recursos

Cada projeto hospedado na Plataforma Square Cloud tem requisitos mínimos de recursos específicos para garantir um desempenho ideal:
  • Bots: Mínimo de 256 MB de RAM requerido.
  • Websites: Mínimo de 512 MB de RAM requerido.
  • Bancos de Dados de Cache: Mínimo de 512 MB de RAM requerido.
  • Bancos de Dados Gerais: Mínimo de 1 GB de RAM requerido.

Por que existem mínimos de RAM?

Containers possuem overhead operacional obrigatório: runtime da linguagem, bibliotecas do sistema operacional e buffers de rede. Abaixo de 256 MB, o OOM Killer do kernel tende a terminar processos durante boot ou garbage collection, tornando a aplicação inviável. Implicações técnicas:
  • Cada container consome 1 IPv4 dedicado e IOPS de storage NVMe
  • Alocações mínimas previnem fragmentação de recursos (efeito noisy neighbor)
  • Fórmula de snapshots diários: (RAM Total / 256) * 2
Dado de Impacto: Após implementarmos o limite mínimo de 256 MB, a estabilidade das aplicações aumentou drasticamente, reduzindo a taxa de crashes por OOM (Out of Memory) em 97,7%.

Alocação de CPU

A CPU é alocada dinamicamente com base na RAM configurada. O algoritmo balanceia performance de inicialização com estabilidade sob carga.

Regras de Alocação

Planos de 1 vCPU

Aplicações recebem 100% da capacidade disponível sem throttling.

Planos Multicore (≥2 vCPU)

Piso de performance:
  • Aplicações com ≥512 MB de RAM recebem no mínimo 2 vCPUs
Escala proporcional:
  • Hobby (≤2 vCPU): +1 vCPU por 512 MB de RAM
  • Standard/Pro/Enterprise: +1 vCPU por 1 GB (1024 MB) de RAM

Exemplos de Alocação

PlanoRAM TotalRAM ConfiguradavCPUs Alocadas
Standard4 GB / 4 vCPU1 GB2 vCPUs (piso mínimo)
Standard4 GB / 4 vCPU4 GB4 vCPUs (máximo)
Enterprise128 GB / 16 vCPU2 GB2 vCPUs
Enterprise128 GB / 16 vCPU16 GB16 vCPUs

Throttling e Limites de Segurança

O sistema respeita o limite de vCPUs do plano e distribui capacidade proporcionalmente entre aplicações. Elasticidade temporária pode conceder vCPUs extras em picos, mas não é garantida. Uso proibido de CPU:
  • Mineração de criptomoedas
  • Machine learning intensivo sem autorização
  • Abusos intencionais de CPU
Violações resultam em status LACK_OF_CPU e suspensão imediata da aplicação.

Limites de Rede

A largura de banda escala proporcionalmente à RAM alocada: +50 Mbps por 256 MB de RAM.
RAM AlocadaLargura de Banda
256 MB50 Mbps
512 MB100 Mbps
1 GB200 Mbps
2 GB400 Mbps
4 GB800 Mbps
8 GB1600 Mbps
10 GB2000 Mbps
Para requisitos acima de 2000 Mbps, contate o suporte técnico.

Limites de Armazenamento

Todas as aplicações recebem 10 GB de storage NVMe independente do plano. Características:
  • Storage de classe empresarial (NVMe).
  • Persistente entre deploys e reinícios.
  • IOPS e throughput de alta performance.

Status de Limite Excedido

LACK_OF_RAM

Quando ocorre: A aplicação excede a RAM alocada ou o kernel envia sinal de OOM (Out of Memory). Ação do sistema: Terminação imediata do processo para preservar estabilidade do host. Como resolver:
  1. Identifique memory leaks com profilers (Node.js: --inspect, Python: memory_profiler)
  2. Reduza uso de cache in-memory ou migre para Redis
  3. Aumente a RAM alocada no painel de controle

LACK_OF_CPU

Quando ocorre: A aplicação ultrapassa o limite de CPU por período sustentado. Ação do sistema: Terminação do processo com status LACK_OF_CPU. Como resolver:
  1. Profile hotspots de CPU (Node.js: 0x, Python: cProfile)
  2. Otimize loops, queries de banco e operações I/O-bound
  3. Aumente a RAM para obter mais vCPUs (ver tabela de alocação)
  4. Considere migrar tarefas pesadas para workers assíncronos
Trade-off: Aumentar RAM para obter CPU adicional aumenta custos. Avalie se otimização de código é mais econômica que scale-up.