levando o rds ao máximo
Post on 16-Aug-2015
44 Views
Preview:
TRANSCRIPT
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
top related