Análise de desempenho e solução de problemas

Tipos de instancia EC2, volumes EBS, RDS Performance Insights, CloudTrail e SSM Automation explicados do zero para iniciantes.

Resolver problemas de desempenho na AWS e como ser mecanico de automoveis. Quando um carro esta lento, voce precisa descobrir se o problema e o motor, os pneus ou o combustivel. Na AWS, quando um servidor esta lento, voce verifica se o problema e a CPU, a memoria, o armazenamento ou a rede. Este post ensina as ferramentas de diagnostico.

 

Tipos de instancia EC2 — Escolhendo a ferramenta certa

As instancias EC2 vem em diferentes tipos, cada uma otimizada para um tipo especifico de trabalho. Pense nisso como escolher o equipamento de cozinha certo: voce nao assa pao numa panela nem ferve sopa num forno.

| Tipo | Nome | Caracteristica | Bom para | |------|------|----------------|---------| | Uso geral | Serie M, Serie T | CPU e memoria equilibradas | Servidores web, bancos de dados pequenos | | Otimizada para computacao | Serie C | Desempenho de CPU extra alto | Processamento em lote, computacao cientifica | | Otimizada para memoria | Serie R, Serie X | Grande quantidade de RAM | Bancos de dados em memoria, caches grandes | | Otimizada para armazenamento | Serie I, Serie D | Leitura/escrita de disco muito rapida | Data warehouses, sistemas de arquivos distribuidos |

O sistema de creditos das instancias T

As instancias da serie T (T3, T4g, etc.) funcionam de uma maneira unica. Quando o uso da CPU e baixo, a instancia acumula "creditos" ao longo do tempo. Quando a demanda de CPU aumenta, ela gasta esses creditos para aumentar o desempenho. Pense nisso como uma conta bancaria: economize quando o negocio esta calmo, gaste quando precisar.

Quando o saldo de creditos chega a zero, o desempenho da CPU e limitado a um nivel base. Nesse ponto, sua aplicacao pode ficar muito lenta repentinamente.

Habilitar o modo Unlimited permite que a instancia continue rodando com CPU alta mesmo apos os creditos se esgotarem, mas voce e cobrado pelo excesso de CPU usado.

Dica de exame: se uma questao diz "uma instancia EC2 esta rodando lentamente" e e uma instancia do tipo T, suspeite primeiro do esgotamento de creditos.

Grupos de posicionamento — Onde colocar fisicamente seus servidores

Os grupos de posicionamento controlam a localizacao fisica das suas instancias em relacao umas as outras.

Grupo de posicionamento Cluster: coloca todas as instancias juntas no mesmo hardware fisico na mesma Zona de Disponibilidade. A latencia de rede entre instancias fica extremamente baixa. Use para treinamento de machine learning ou cargas de trabalho HPC onde os servidores precisam trocar enormes quantidades de dados em alta velocidade.

Grupo de posicionamento Spread: coloca cada instancia em hardware fisico separado. Se o hardware de um servidor falhar, os outros nao sao afetados. Use para instancias criticas que devem permanecer isoladas entre si para alta disponibilidade.

Grupo de posicionamento de Particoes: divide as instancias em grupos chamados particoes, e cada particao fica em um rack de hardware separado. Use para sistemas distribuidos grandes como HDFS (Hadoop) ou Cassandra.

 

Tipos de volume EBS — Nem todos os discos rigidos sao iguais

EBS (Elastic Block Store) e como um disco rigido que voce conecta a sua instancia EC2. Diferentes tipos de volume tem caracteristicas de desempenho e custo muito diferentes.

| Tipo de volume | IOPS maximo | Throughput maximo | Caracteristica-chave | Caso de uso | |--------------|------------|------------------|---------------------|------------| | gp3 | 16.000 | 1.000 MB/s | IOPS configuravel independentemente do tamanho | A maioria das cargas de trabalho | | io2 Block Express | 256.000 | 4.000 MB/s | Maximo desempenho, Multi-Attach | Bancos de dados mission-critical | | st1 | N/A | 500 MB/s | Otimizado para throughput sequencial | Big data, processamento de logs | | sc1 | N/A | 250 MB/s | Opcao mais barata | Arquivos, dados raramente acessados |

O ponto-chave do gp3: com o antigo gp2, os IOPS estavam vinculados ao tamanho do volume. Com gp3, voce configura IOPS e throughput independentemente do tamanho do volume. Isso significa que voce nao precisa comprar mais armazenamento so para obter mais desempenho.

 

RDS Performance Insights — O relatorio de saude do seu banco de dados

Imagine que voce tem uma loja online e o processamento de pedidos fica lento de repente. Voce precisa saber: e a rede, os servidores ou uma consulta especifica do banco de dados? O RDS Performance Insights e um painel visual que mostra exatamente o que esta acontecendo dentro do seu motor de banco de dados.

Recursos principais:

As principais consultas SQL classificadas pela carga que criam. Voce pode ver "esta consulta e responsavel por 40% da carga total do banco de dados."

Os eventos de espera mostram por que as consultas estao esperando: e porque a CPU esta sobrecarregada, o disco e lento ou outra consulta esta mantendo um bloqueio nos mesmos dados?

O grafico de carga do DB visualiza quao ocupado o banco de dados esta em comparacao ao numero de vCPUs disponiveis. Isso ajuda voce a decidir se escalar para uma instancia maior.

Como e diferente do Enhanced Monitoring? O Performance Insights olha dentro do proprio motor do banco de dados: consultas, planos de execucao, eventos de espera. O Enhanced Monitoring olha o servidor que executa o banco de dados: CPU no nivel do SO, memoria e informacoes de processos. As duas ferramentas se complementam.

 

S3 Transfer Acceleration — Uploads rapidos de qualquer lugar do mundo

Imagine que uma equipe em Sao Paulo precisa fazer upload de arquivos de video grandes para um bucket S3 na regiao US East. Usando a internet normal, os dados viajam por muitos roteadores intermediarios, o que introduz latencia e instabilidade.

O S3 Transfer Acceleration resolve isso roteando o upload para o ponto de presenca do CloudFront mais proximo primeiro. De la, os dados viajam pela rede backbone privada da AWS, que e muito mais rapida e confiavel que a internet publica, ate o bucket S3 de destino nos EUA.

Para usa-lo, mude seu endpoint S3 para . Combinar com uploads multiparte torna ainda mais rapido.

Nota importante: o Transfer Acceleration e mais eficaz para uploads de longa distancia entre continentes. Para distancias curtas, pode nao melhorar a velocidade.

 

Modos de desempenho do EFS — Ajustando seu sistema de arquivos compartilhado

EFS (Elastic File System) e uma pasta compartilhada que multiplas instancias EC2 podem acessar simultaneamente. Pense nele como uma unidade de rede compartilhada em um escritorio.

Ha dois modos de desempenho. O modo de Uso Geral tem menor latencia e e adequado para servidores web e sistemas de gerenciamento de conteudo. O modo Max I/O tem maior throughput mas latencia ligeiramente maior. E projetado para analise de big data e processamento de midia.

Para o throughput, ha tres modos. O throughput Bursting escala automaticamente com base no tamanho do sistema de arquivos. O throughput Provisionado permite especificar exatamente quanto throughput voce precisa. O throughput Elastico se ajusta automaticamente a sua carga de trabalho real.

 

CloudTrail — O log de auditoria para toda a sua conta AWS

O CloudTrail registra cada chamada de API feita na sua conta AWS. Pense nele como o sistema de cartao de acesso para um edificio de escritorios seguro: toda vez que alguem abre uma porta, e registrado com um carimbo de data/hora e o nome do funcionario.

Tipos de eventos:

Os eventos de gerenciamento registram operacoes na sua infraestrutura: lancar instancias EC2, criar funcoes IAM, criar buckets S3. Sao coletados por padrao e sao gratuitos.

Os eventos de dados registram operacoes nos dados dentro dos seus recursos: ler e escrever objetos S3, invocar funcoes Lambda. Nao sao coletados por padrao e tem custo adicional.

Os eventos de Insights detectam automaticamente padroes incomuns de atividade de API. Por exemplo, se de repente ha um grande pico nas chamadas de API de criacao de funcoes IAM, o CloudTrail Insights sinaliza isso como uma possivel ameaca de seguranca.

O CloudTrail Lake permite executar consultas SQL diretamente no historico de eventos do CloudTrail.

 

Systems Manager Automation — Pare de fazer tarefas repetitivas manualmente

Conectar-se manualmente a servidores para reinicia-los toda vez que algo da errado e ineficiente. O AWS Systems Manager Automation permite definir runbooks que realizam essas tarefas automaticamente.

Um runbook e um documento que define uma sequencia de passos. O padrao mais comum no exame: um alarme do CloudWatch e disparado porque uma metrica ultrapassa um limite. O EventBridge detecta a mudanca de estado do alarme e aciona um runbook de Automacao SSM. O runbook reinicia o servidor. Tudo acontece automaticamente sem intervencao humana.

A AWS fornece runbooks pre-configurados para cenarios comuns: AWS-RestartEC2Instance, AWS-StopEC2Instance e outros estao disponiveis imediatamente.

 

Pontos-chave do exame

"Instancia T repentinamente lenta" -- Verificar saldo de creditos de CPU; habilitar modo Unlimited ou mudar tipo de instancia

"Minimizar a latencia de rede entre servidores" -- Grupo de posicionamento Cluster

"Isolar instancias criticas de falhas de hardware" -- Grupo de posicionamento Spread

"Configurar IOPS independentemente do tamanho do volume" -- gp3

"Maximo IOPS para banco de dados mission-critical" -- io2 Block Express

"Leituras sequenciais de arquivos de dados grandes, baixo custo" -- st1

Voltar à lista do blog