27
VMs de Alto Rendimiento para SQL Server en AWS y Azure Warner Chaves SQLTurbo.com / Pythian

VMs de alto rendimiento para SQL Server en AWS y Azure

Embed Size (px)

Citation preview

Page 1: VMs de alto rendimiento para SQL Server en AWS y Azure

VMs de Alto Rendimiento para SQL Server en AWS y AzureWarner ChavesSQLTurbo.com / Pythian

Page 2: VMs de alto rendimiento para SQL Server en AWS y Azure

2

Bio

• 10 años de Experiencia como DBA del SQL Server.• Experiencia previa como DBA Nivel 3 de HP en Costa Rica, ahora

trabajo para Pythian como Consultor Principal en Ottawa, Ontario.• Twitter: @warchav• Email: [email protected]• Blog: SQLTurbo.com• Empresa: Pythian.com

Page 3: VMs de alto rendimiento para SQL Server en AWS y Azure

3 3

Agenda

Objetivo: introducir los principales modelos de Maquinas Virtuales y las opciones de almacenamiento para construir SQL Servers de alto rendimiento en AWS y Azure.

Temas: 1- Modelos de VM en AWS 2- Opciones de almacenamiento en AWS 3- Modelos de VM en Azure 4- Opciones de almacenamiento en Azure 5- Pruebas.

Page 4: VMs de alto rendimiento para SQL Server en AWS y Azure

4 4

Page 5: VMs de alto rendimiento para SQL Server en AWS y Azure

5 5

Modelos de VM en AWS

Modelos comunes utilizados: General purpose T2. General purpose M4. Compute optimized C4. Memory optimized R3. Storage optimized I2.

Page 6: VMs de alto rendimiento para SQL Server en AWS y Azure

6 6

El caso especial del modelo T2

• Los modelos T2 permiten CPU bursting.• Rendimiento base depende del modelo.• Periodos de actividad baja acumulan creditos de

CPU.• Los creditos se gastan usando el CPU, 1 credito =

1 minuto de full CPU.

Page 7: VMs de alto rendimiento para SQL Server en AWS y Azure

7 7

CPU – Memoria – Almacenamiento?

Cada modelo se enfoca en un area particular. C4 tiene los CPUs mas poderosos. R3 tiene el mejor costo por GB de RAM. I2 tienen SSDs temporales grandes y rapidos.

Page 8: VMs de alto rendimiento para SQL Server en AWS y Azure

8 8

Opciones de Almacenamiento

• Tres tipos de almacenamiento:• General storage (SSD): 3 IOPs por GB, acumula creditos y

puede hacer burst hasta 3000 IOPS por 30 minutos. Volumenes 1TB+ no hacen burst.

• Provisioned IOPS SSD: la opcion mas costosa pero garantiza el mismo nivel de rendimiento en todo momento. 30 IOPs por GB.

• Magnetic: util para archivar datos, bases de datos de baja prioridad, dev/test.

Page 9: VMs de alto rendimiento para SQL Server en AWS y Azure

9 9

Limites de ancho de banda

• Modelos diferentes tienen un limite de ancho de banda diferente que impacta el rendimiento del storage.

• Este ancho de banda es un posible cuello de botella, aun si ud conecta almacenamiento que puede consumir mas datos.

Page 10: VMs de alto rendimiento para SQL Server en AWS y Azure

10 10

Limites de modelos

Page 11: VMs de alto rendimiento para SQL Server en AWS y Azure

11 11

Otros tips en AWS

• Entre mas grande sea un volumen General Purpose puede hacer burst por mas tiempo y llenar los creditos mas rapido.

• C4.8xlarge y D2.8xlarge tienen ancho de banda a EBS y ademas una interfaz de 10-gigabit exclusiva para el trafico de red.

• Volumenes restaurados de snapshots se recomienda hacer un pre-warm para no pagar una penalidad de primer acceso.

Page 12: VMs de alto rendimiento para SQL Server en AWS y Azure

12 12

Page 13: VMs de alto rendimiento para SQL Server en AWS y Azure

13 13

Modelos de VM en Azure

• La serie A fue la primera generacion de maquinas virtuales.• Ha sido mejorada en la serie D y G.• DS y GS son lo mismo que D y G pero con almacenamiento

Premium.• Limites de ancho de banda son publicados solo para DS y GS.• No hay opciones de bursting.

Page 14: VMs de alto rendimiento para SQL Server en AWS y Azure

14 14

DS o GS para SQL Server?

DS and GS son las unicas opciones para alto rendimiento.DS fue la primera con Premium storage pero ahora GS existe

tambien.GS tiene CPU mas rapido y usualmente mas RAM por core (a su

precio).Mi recomendacion depende de que tan demandante sea la base

de datos para justificar la diferencia de precio entre DS y GS.

Page 15: VMs de alto rendimiento para SQL Server en AWS y Azure

15 15

Opciones de AlmacenamientoTres tipos:

Azure Page Blob: este es el storage clasico, cada volumen da 500 IOPS y aproximadamente ~60MB/s.

SSDs locales temporales: tempdb o BPE. Azure Premium storage: disponible en 3 modelos:

Nivel Tamaño IOPS Ancho de banda Precio mensual (Nov 2015)

P10 128GB 500 100MB/s 19.71 USD

P20 512GB 2300 150MB/s 73.22 USD

P30 1024GB 5000 200MB/s 135.17 USD

Page 16: VMs de alto rendimiento para SQL Server en AWS y Azure

16 16

Limites de ancho de banda

• Similar a AWS, las maquinas tiene limites de cuantos datos pueden mover en su ancho de banda.

Tipo IOPS MB/s

DS1 3200 32

DS2 6400 64

DS3 12800 128

DS4 25600 256

DS11 6400 64

DS12 12800 128

DS13 25600 256

DS14 50000 512

Tipo IOPS MB/s

GS1 5000 125

GS2 10000 250

GS3 20000 500

GS4 40000 1000

GS5 80000 2000

Page 17: VMs de alto rendimiento para SQL Server en AWS y Azure

17 17

Otros tips en Azure

• Mejores Practicas de MS para discos de datos es no tener caching para discos de Page Blob y Read-Only caching para discos de Premium Storage.

• Si necesita hacer striping: poner el stripe size a 64 KB para OLTP y 256 KB para warehousing.

• Las mejores practicas de SQL aplican igual.

Page 18: VMs de alto rendimiento para SQL Server en AWS y Azure

18 18

Prueba de CPU

Page 19: VMs de alto rendimiento para SQL Server en AWS y Azure

19 19

Pruebas de almacenamiento

Page 20: VMs de alto rendimiento para SQL Server en AWS y Azure

20 20

AWS C4 – 2 cores – GP C – Prov IOPS D

Page 21: VMs de alto rendimiento para SQL Server en AWS y Azure

21 21

AWS R3 – 2 cores – GP C – Prov IOPS D – Scratch SSD Z

Page 22: VMs de alto rendimiento para SQL Server en AWS y Azure

22 22

Azure G – 2 cores – Blob C – Scratch SSD D - 2 Vol E

Page 23: VMs de alto rendimiento para SQL Server en AWS y Azure

23 23

Azure DS – 2 cores – Blob C – Scratch SSD D – P30 E

Page 24: VMs de alto rendimiento para SQL Server en AWS y Azure

24 24

Resumen para AWS

• Modelos T2 pueden tener buen balance de precio/rendimiento pero NO son para trabajo critico de alto rendimiento.

• Recomiendo escoger entre compute / memory o storage optimized dependiendo de la necesidad.

• Asegurarse de que es un modelo EBS optimized para mejor IO.• Si es realmente critico de alto rendimiento la mejor opcion es provisioned IOPS SSD.• Diseñar la maquina con el ancho de banda en mente.• Usar el SSD local para tempdb.

Page 25: VMs de alto rendimiento para SQL Server en AWS y Azure

25 25

Resumen para Azure

• Serie A es la primera generacion, ha sido superada por D, DV2 y G.• Para alto rendimiento de SQL Server la opcion es DS o GS.• Tener en cuenta el ancho de banda a la hora de crear los volumenes

de Premium Storage.• Si esta en un modelo anterior que solo tiene Blob storage entonces lo

mas probable es que ocupe hacer striping para tener rendimiento decente.

• Usar el SSD local para tempdb.

Page 26: VMs de alto rendimiento para SQL Server en AWS y Azure

Preguntas?

Page 27: VMs de alto rendimiento para SQL Server en AWS y Azure

Gracias por su asistencia!

Follow @pass24hop

Share your thoughts with hashtags #pass24hop & #sqlpass