Levando o rds ao Máximo

Post on 16-Aug-2015

43 views 1 download

Transcript of Levando o rds ao Máximo

Levando o RDS ao Máximo

Cenário

• 5 operações : SQS, S3, serialização, unzip• 15 operações relacionais• Cada ciclo está uma transação

20 operações por ciclo

• Ciclos levando em média 1 segundo• Degradação de performance com a paralelização• 600 ~ 900 ciclos processados em 15 minutos

Centenas de Milhares de ciclos

para processar

Dúvida

Problemas

TransaçãoNível de

Isolamento

Updates concorrentes

RDS

Discos Magnéticos / SSD / PIOPS

FILA

Preocupação com

processamentos concorrentes

Fase 1 - Nível de Isolamento

Read Commited

Read Uncommited

Fase 2 - Fila

Acelerar Importa

ção

Concorrência

Escalar dinamicamente

Fase 3 – Disco RDS

• Média de 100 IOPS• Picos de centenas de IOPSMagnético• Média de 3 IOPS / GB• Picos de 3000 IOPS / segSSD

• SSD com provisionamento de IOPSPIOS

RESOLVEMOS NOSSOS PROBLEMAS

#SQN

Frustração

•SONHÁVAMOS CHEGAR AOS 3 MIL IOPS.

•NÃO CHEGAMOS NEM A 200 IOPS =/

•PARALELIZAR AS OPERAÇÕES DEGRADAVA MUITO A PERFORMANCE

Updates Concorrentes

Updates Concorrentes

FASE 4 – Eliminar Updates Concorrentes

•UPDATES SÓ GERAM SCRIPTS QUANDO OS DADOS EFETIVAMENTE MUDAM;•OS DADOS MUDAM BASTANTE?? ENTÃO TIRA ISSO DA TRANSAÇÃO;

RESULTADOS – READ IOPS

RESULTADOS – WRITE IOPS

Acúmulo de créditos

Números Finais

•~600 ciclos em 15 min•Paralelização limitada com degradação de performance

Antes

•~50 mil ciclos em 15 min (+80x)•Paralelização de até 55 consoles SEM degradação de performance

Depois

CHEGAMOS ONDE QUERÍAMOS!

YES

Dicas

•Log;•Use uma boa ferramenta de profiler;•Teste com massa de dados. Preferência que seja espelho de PRD (Foi assim que avançamos);•Use snapshots;•Automatize a construção do cenário para otimização;

DÚVIDAS?

OBRIGADO!HENRYLLE MAIAARQUITETO DE SOFTWARE – GRUPO FORTESTWITTER: @henryllewww.oregonead.com.br