Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

[24HOP] SQL Server em maquinas virtuais do Windows Azure

484 views

Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

[24HOP] SQL Server em maquinas virtuais do Windows Azure

  1. 1. SQL Server em Máquinas Virtuais do Windows Azure Vítor Tomaz
  2. 2. 2 Vítor Tomaz @vitortomaz vitor.tomaz@safira.pt Software Engineer Comunidades
  3. 3. 3 Agenda  Porquê Windows Azure  Máquinas Virtuais Windows Azure  Requisitos do SQL Server  Melhores Práticas  Monitorização
  4. 4. Porquê Windows Azure?
  5. 5. Cloud Computing Escalabilidade Elasticidade Baixo Investimento Inicial Pago o que Uso Não há (demasiados) recursos desperdiçados Escalabilidade Custos
  6. 6. Cloud Computing
  7. 7. Automação em Windows Azure Recursos necessários Agent Switches Load-balancers Fabric Controller Agent Agent Faz acontecer
  8. 8. Windows Azure Windows Azure é um SO para o datacenter  Modelo: Trata o datacenter como uma única máquina  Trata a gestão dos recursos, aprovisionamento e monitorização  Gere o ciclo de vida das aplicações  Permite aos programadores concentrarem-se na lógica de negócio Fornece serviços para aplicações distribuídas  Filas de mensagens, armazenamento estruturado, armazenamento relacional  Serviços de controlo de acesso e conectividade
  9. 9. Windows Azure – Escala Global South Central US West US East US
  10. 10. Windows Azure Virtual Machines
  11. 11. Máquinas Virtuais Windows Azure
  12. 12. Discos Persistentes e Durabilidade
  13. 13. Discos Persistentes e Durabilidade
  14. 14. Terminologia em Máquina Virtuais • Virtual Networks • Local Networks • DNS Servers • Access Keys • Containers • Images • Disks
  15. 15. 18 Cloud Services (Serviços de Núvem)
  16. 16. Tamanhos e Discos Virtual Machine Size CPU Cores Memory Maximum data disks (each up to 1 TB) Maximum IOPS ExtraSmall Shared 768 MB 1 1 x 500 Small 1 1.75 GB 2 2 x 500 Medium 2 3.5 GB 4 4 x 500 Large 4 7 GB 8 8 x 500 ExtraLarge 8 14 GB 16 16 x 500 A5 2 14GB 4 4 x 500 A6 4 28 GB 8 8 x 500 A7 8 56 GB 16 16 x 500
  17. 17. 20 Imagens Imagens com SQL Server Imagens com Windows Server Criar a nossa própria imagem  Construída na Cloud  Construída On-Prem
  18. 18. Imagens Escolhida da Galeria de Imagens
  19. 19. Imagens A partir do nosso VHD
  20. 20. Service Level Agreement
  21. 21. SLA para SQL Server Sem SLA SLA 99.95%
  22. 22. Dentro de uma Máquina Virtual Virtual Machine C: OS Disk E:, F:, etc. Data Disks D: Temp Disk (Dynamic VHD) RAM Cache Local Disk Cache
  23. 23. Disco do Sistema Operativo Exemplo: arranque Virtual Machine C: OS Disk E:, F:, etc. Data Disks D: Temp Disk (Dynamic VHD) RAM Cache Local Disk Cache
  24. 24. Disco Local Temporário Contém page files do sistema operativo Disco attached ao host físico Disco físico, partilhado com outras VM Apagado após falha ou recycling da VM Virtual Machine C: OS Disk E:, F:, etc. Data Disks D: Temp Disk (Dynamic VHD) RAM Cache Local Disk Cache
  25. 25. Disco de Dados Attached VHDs Em Azure Storage Para guardar dados Até 1TB de tamanho Até 16 discos em VMs XL Virtual Machine C: OS Disk E:, F:, etc. Data Disks D: Temp Disk (Dynamic VHD) RAM Cache Local Disk Cache
  26. 26. Sistema de IO Performance pode variar - Host machines - Network bandwidth - Operações de manutenção Cost vs control trade-off 3 cópias no mesmo datacenter Geo-redundante - Opcional - 6 cópias Storage Stamp Stream Layer Partition Layer Front-ends LB Intra-stamp replication Stream Layer Partition Layer Front-ends LB Intra-stamp replication Storage Stamp Geo-replication Storage Location Service
  27. 27. VM disk caching Reduz o número de transacções de storage Cache na RAM da host machine Cache no Disco da host machine Tamanho da cache baseado no tamanho da máquina
  28. 28. Cache setting – read only
  29. 29. Cache setting – read write Persistido para local cache primeiro se "write through“ não for especificado Outras escritas (SQL Server) são persistidas directamente para storage
  30. 30. Cache setting - none Atenção aos custos das transacções de storage
  31. 31. VM cache settings options Disk type Read Only Read Write None (disabled) OS disk Supported Default Not supported Data disks Supported (up to 4) Supported (up to 4) Default Temporary disk N/A
  32. 32. WA Gateway On-premises Your datacenter Hardware VPN or Windows RRAS Virtual Network <subnet 1> <subnet 2> <subnet 3> DNS Server Virtual Networks – Site-to-Site
  33. 33. On-premises Your datacenter Individual computers behind corporate firewall Virtual Networks – Point-to-Site Virtual Network <subnet 1> <subnet 2> <subnet 3> DNS Server Hardware VPN or Windows RRAS WA Gateway
  34. 34. Requisitos do SQL Server
  35. 35. Requisitos do SQL Server Cada vez mais Latência IOPs Taxa de Transferência (Throughput) As questões relacionadas com CPU e Memória são semelhantes em Windows Azure
  36. 36. 39 Requisitos de I/O – OLTP Metric Requirements Mix of reads vs writes Mostly reads Nature of writes Mostly asynchronous Average rows per I/O Low I/O size 8 to 64 KB common I/O pattern Mostly random Concurrent users High
  37. 37. 40 Requisitos de I/O – log files Metric Requirements Mix of reads vs writes Mostly writes Nature of writes Mostly synchronous (low latency critical) Average rows per I/O Low I/O size 8 to 64 KB common I/O pattern Mostly sequential
  38. 38. Melhores Práticas
  39. 39. 42 Latência Latência de Rede mais alta  Virtualização, segurança, balanceamento de carga, proximidade  Reduzir round trips pode ter grande impacto Criar VMs no mesmo cloud service  Permite comunicação através de endreços IP internos (DIPs)  Usar Windows Azure Virtual Network para VMs em cloud services diferentes  Fazer load balance de multiplas VMs no mesmo cloud service via endreço IP público Consolidar camadas “muito faladoras” na mesma máquina
  40. 40. 43 IOPs – Usar múltiplos discos SQL Server Files and Filegroups Apresenta a melhor performance Windows Server 2012 Storage Spaces No Windows Server 2012 R2 é ainda melhor Striped Volumes Windows Server 2008 (evitar se possível)
  41. 41. 44 IOPs - Storage Account Limites de escalabilidade de uma Azure Storage Account 20 000 IOPs por conta Limites de escalabilidade de um blob (VHD) 60 MBytes/s por blob É recomendável manter tudo numa única conta de Storage É a unidade de recuperação em caso de falha Não usar geo-replicação com vários discos Não é garantida uma ordem escrita consistente em vários discos
  42. 42. Apenas disco do Sistema Operativo BDs pequenas < 10GB Read-write cache tempdb System databases User databases
  43. 43. Um disco de dados Perfomance aceitável Pouca complexidade Recuperação simples Read-write cache tempdb User databases Random I/O (8KB Pages) Sequential I/O (64KB Extents) Sequential I/O (256KB Blocks) Reads Writes Reads Writes Reads Writes IOPS 500 500 500 300 300 300 Bandwidth 4 MB/s 4 MB/s 30 MB/s 20 MB/s 70 MB/s 70 MB/s
  44. 44. Vários discos de dados Apresenta a melhor performance nos testes Striping (avoid) WS2012 storage spaces
  45. 45. Testes com vários discos 4 disks Random I/O (8KB Pages) Sequential I/O (64KB Extents) Sequential I/O (256KB Blocks) Reads Writes Reads Writes Reads Writes IOPS 2000 2000 2000 1300 700 1100 Bandwidth 20 MB/s 20 MB/s 120 MB/s 80 MB/s 170 MB/s 270 MB/s 16 disks Random I/O (8KB Pages) Sequential I/O (64KB Extents) Sequential I/O (256KB Blocks) Reads Writes Reads Writes Reads Writes IOPS 8000 8000 2500 5000 700 2400 Bandwidth 60 MB/s 60 MB/s 150 MB/s 300 MB/s 170 MB/s 600 MB/s 8 disks Random I/O (8KB Pages) Sequential I/O (64KB Extents) Sequential I/O (256KB Blocks) Reads Writes Reads Writes Reads Writes IOPS 4000 4000 2500 2600 700 2200 Bandwidth 30 MB/s 30 MB/s 150 MB/s 160 MB/s 170 MB/s 550 MB/s
  46. 46. tempdb (Apesar de recomendações anteriores) Discos de SO e dados apresentam a mesma ou melhor performance Drive D é partilhada e pode ter uma performance variável SQL Server precisa de criar a tempdb num restart São necessárias permissões de administrador para criar pastas no disco D Particularly number of files tempDB IO best practices
  47. 47. 50 Caching OS Disk “Read Write” (default) • DBs (<=10GB) • Reduz latência em IO intensivo • Working set cabe na cache ou memória Data disks • DBs > 10GB • Depende do IO • Usar “None” (disable) para random IOs (e.g. OLTP) • Read cache para workloads com muitas leituras e requisitos de latência baixa
  48. 48. 51 Disk warm-up Particionamento adaptativo e balanceado (ajusta à carga)  As partições espalham-se se a carga aumentar  Podem condensar-se se a carga diminuir  As leituras são distribuídas pelas 3 réplicas
  49. 49. 52 ‹#›
  50. 50. Monitorização
  51. 51. Ferramentas de monitorização psping Traceroute (tracert) SQL Server Management Studio (client statistics) Process(SQLServ)% Processor Time (max and avg) Processor(_Total)% Processor Time (max and avg) SQLServer:SQL StatisticsBatch Requests/sec (max and avg)
  52. 52. Gráficos no Portal VM Dashboard Monitor tab for storage Enabled under the Configure tab
  53. 53. Métricas de Windows Azure storage analytics Monitors BLOBs, tables and queues Access via storage account namespace https://<accountname>.table.core.windows.net/Tables("$MetricsTransactionsBlob") Capacity: number of containers, BLOBs Requests: number of requests, total ingress/egress, average end-to-end latency, server latency, total failures
  54. 54. 57 Conclusões As principais diferenças estão nos discos e I/O Optimizar para reduzir I/O e numero de pedidos Identificar o melhor tamanho para as VMs Usar Filegroups e vários discos para bases de dados grandes Rever as decisões de optimização à medida que a carga muda Começar por planear a VPN
  55. 55. Referências
  56. 56. Questões?
  57. 57. Obrigado

×