VMs de Alto Rendimiento para SQL Server en AWS y Azure Warner Chaves SQLTurbo.com / Pythian
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
2
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.
3
3
4
4
Modelos de VM en AWS
Modelos comunes utilizados: General purpose T2. General purpose M4. Compute optimized C4. Memory optimized R3. Storage optimized I2.
5
5
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.
6
6
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.
7
7
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. 8
8
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.
9
9
Limites de modelos
10
10
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.
11
11
12
12
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.
13
13
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.
14
14
Opciones de Almacenamiento Tres 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:
15
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
15
Limites de ancho de banda • Similar a AWS, las maquinas tiene limites de cuantos datos
pueden mover en su ancho de banda.
16
Tipo
IOPS
MB/s
Tipo
IOPS
MB/s
DS1
3200
32
GS1
5000
125
DS2
6400
64
GS2
10000
250
DS3
12800
128
GS3
20000
500
DS4
25600
256
GS4
40000
1000
DS11
6400
64
GS5
80000
2000
DS12
12800
128
DS13
25600
256
DS14
50000
512 16
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.
17
17
Prueba de CPU
18
18
Pruebas de almacenamiento
19
19
AWS C4 – 2 cores – GP C – Prov IOPS D
20
20
AWS R3 – 2 cores – GP C – Prov IOPS D – Scratch SSD Z
21
21
Azure G – 2 cores – Blob C – Scratch SSD D - 2 Vol E
22
22
Azure DS – 2 cores – Blob C – Scratch SSD D – P30 E
23
23
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.
24
24
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.
25
25
Preguntas?
Gracias por su asistencia! Follow @pass24hop Share your thoughts with hashtags #pass24hop & #sqlpass