RDS: Aurora vs MySQL engines

294 visualizações

Publicada em

Comparação de desempenho entre duas das engines SQL oferecidas como serviço pela AWS.

Publicada em: Internet
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
294
No SlideShare
0
A partir de incorporações
0
Número de incorporações
18
Ações
Compartilhamentos
0
Downloads
2
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

RDS: Aurora vs MySQL engines

  1. 1. RDS for Aurora vs RDS for MySQL Comparando dois tipos de serviços de bancos de dados relacionais oferecidos pela AWS.
  2. 2. Introdução Nessa apresentação irei focar em apenas duas das engines oferecidas pelo RDS (Mysql 5.6 e AWS Aurora). As duas opções são bastante semelhantes e diferem principalmente no quesito performance. Segundo dados publicados pela AWS, a engine Aurora (proprietária) pode chegar a ser 5 vezes mais rápida que a engine MySQL (open-source) em alguns cenários.
  3. 3. RDS? AWS Relational Database Service (RDS) é um serviço de banco de dados relacionais totalmente gerenciável e que oferece uma gama de opções de engines SQL (MySQL, MSSQL, AWS Aurora e etc). De acordo com a pagina oficial, RDS é um serviço web que facilita a configuração, operação e crescimento de sistemas gerenciadores de banco de dados em núvem.
  4. 4. Workload Para poder comparar a performance de ambas as soluções oferecidas pela AWS defini uma carga de trabalho que deveria ser idêntica para os dois cenários. As baterias não tinham como objetivo causar a exaustão dos serviços.
  5. 5. Workload generator AWS EC2 • Instance class: m3.xlarge • AZ: us-east-1a (mesma região e zona que ambos os RDSs) • 4 vCPU, 13 ECU e 15 GB memória RAM Jmeter • JDBC • MySQL Driver • Class name: com.mysql.jdbc.driver
  6. 6. Workload profile 2 queries SQL • INSERT (número inteiro randômico em uma coluna de uma tabela) • SELECT (em uma coluna de uma tabela, retorna um número inteiro) 100 Threads concorrentes • Threads concorrentes é diferente de threads simultâneas • 200 iterações por thread • 2 queries por iteração
  7. 7. AWS RDS AWS RDS • Instance class: db.r3.large • AZ: us-east-1a • Single AZ (replicação desligada) • 2 vCPU, 6.5 ECU e 15 GB memória RAM • Performance de rede: moderada • Storage: 20gb General Purpose SSD • IOPS: desativado
  8. 8. Resultados Ambas as cargas de trabalho geraram juntas uma população de 80000 linhas ao final das 2 baterias. Cada uma das baterias gerou uma amostragem de 40000 linhas (100 threads * 200 iterações * 2 queries) sendo que cada linha corresponde a uma requisição (hit) feita ao serviço.
  9. 9. Dados analisados 3 números foram levados em consideração nessa apresentação. • Response time over time Gráfico de dispersão Linhas de 90th e 95th percentile • Hits Per Second Histograma - intervalo de 1 s • Response Time Distribution Histograma - intervalo de 100 ms Linhas de 90th e 95th percentile
  10. 10. Response time over time – RDS for Aurora
  11. 11. Response time over time – RDS for MySQL 5.6
  12. 12. Hits Per Second – RDS for Aurora
  13. 13. Hits Per Second – RDS for MySQL 5.6
  14. 14. Response Time Distribution – RDS for Aurora
  15. 15. Response Time Distribution – RDS for MySQL 5.6
  16. 16. Autores Giovani Dardani gdardani@mr2tech.com Twitter: @gdardani Roberto Gaiser rgaiser@mr2tech.com Twitter: @rgaiser

×