Analizaremos el subsistema de I/O para detectar los posibles cuellos de botella. Para llevar a cabo esto utilizaremos distintas técnicas y herramientas
1. Analizando la performance del subsistema de I/O
27 de Abril 2016 (12 pm GMT -5)
Javier Villegas
Resumen:
Analizaremos el subsistema de I/O para detectar los posibles
cuellos de botella. Para llevar a cabo esto utilizaremos distintas
técnicas y herramientas
Está por comenzar:
Moderador: Carlos Ulate
Próximos Eventos
Creación de un modelo de
análisis predictivo en la nube
04 de Mayo
Patricio Cofre
Power BI con MS Dynamics AX
11 de Mayo
Juan Manuel Rafael Fabian
Administrando la Continuidad
del Negocio con Azure SQL
Database
18 de Mayo
Adrian Miranda
2. Manténgase conectado a nosotros!
Visítenos en http://globalspanish.sqlpass.org
/SpanishPASSVC
lnkd.in/dtYBzev
/user/SpanishPASSVC
/SpanishPASSVC
4. 4
Oportunidades de Voluntariado
PASS no pudiera existir sin personas apasionadas y
dedicadas de todas partes del mundo que dan de su
tiempo como voluntarios.
Se un voluntario ahora!!
Para identificar oportunidades locales visita
volunteer.sqlpass.org
Recuerda actualizar tu perfil en las secciones de
“MyVolunteering” y MyPASS para mas detalles.
6. Analizando la performance del subsistema de I/O
27 de Abril de 2016
Javier Villegas
MCP y MCTS.
Trabajando como profesional de SQL Server desde 1997
DBA Manager en Mediterranean Shipping Company desde 2006
Miembro de la comunidad PASS desde 2008
Moderador: Carlos Ulate
7. Agenda
• Mejores Practicas
• Métricas
• Métodos para medir la performance de I/O
• Queries de diagnostico de I/O
• Herramientas
• Tipos de Storage para SQL Server
7
8. SQL Mejores Practicas
• Identificar tipo de Workload
• Online Transaction Processing (OLTP)
• Alta escritura
• Relational Data Warehouse (DW)
• Alta lectura
• Online Analytical Processing (OLAP)
• Sequencial Throughput
• Backup/Restore
• Asignar “Perform volumen maintenance tasks” a la SQL Service Account
• Utilizar Backup compression
• Utiliza un poco mas de CPU pero menos I/O
• Mantener los VLF bajo control
• Creación y Mantenimiento de índices
• Usar la opción MAXDOP para mejorar la performance durante el mantenimiento de índices
• Utilizar Data Compression donde sea apropiado para reducir el I/O
8
9. SQL Mejores Practicas
• Es importante diseñar el Sistema de I/O de nuestro entorno SQL Server siguiendo las
mejores practicas.
• Solicitar las mejores practicas de SQL Server para SAN en cuestión
• La performance del SQL Server I/O es crucial para la performance general del entorno dado
que el acceso a datos en disco es mucho mas lento que memoria
• Conocer nuestro Sistema de I/O
• Muchos DBAs se preocupan solo por chequear los backups y hacer tunning de queries pero
también es importante saber que ocurre con el Sistema de I/O y el storage
9
10. SQL Mejores Practicas
• Las 3 métricas mas importante para la performance del storage
• Latencia
Es el tiempo que toma en completar un I/O
• I/O operaciones por segundo (IOPS)
• Directamente relacionado con la latencia.
• Sequencial Throughput (MB/sec o GB/sec)
• Importante para Backup/Restore, Creación y mantenimiento de índices,
• Estas 3 métricas están interrelacionadas entre si. No podemos solo mirar una de ella en
forma separada sin saber acerca de las otras
10
11. SQL Server I/O Métricas
• Lectura vs Escritura
• DMV
• I/O rates
• Reads/sec, Writes/sec desde PerfMon
• Disk read bytes/sec, Disk writes/sec es Throughput
• Latencia promedio
• Average disk sec/read, Average disk sec/write
11
12. Métodos para medir la performance de I/O
• Task Manager en Windows 2012 o Windows 2012 R2 (Dependiendo del tipo de storage que
se use)
• Windows Resource Monitor (sección de Discos)
• Contadores de PerfMon (LogicalDisk)
• DMV
• Herramientas de medición de performance
• CrystalDiskMark
• SQLIO
• DiskSpd (SQLIO mejorado)
12
16. Tipos de Storage para SQL Server
Internal drives (3.5”, 2.5” o 1.8”)
RAID / SSD
Direct-attached storage (DAS)
External Enclosure / Fácil de configurar y administrar / Dedicado, no compartido
Storage area networks (SAN)
Compartido / muchas bahías / gran tamaño de cache
Fiber-Channel / iSCSI
PCIe flash-based (ex. Fusion-IO)
Seq. Throughput y Random I/O muy alto
Server Message Block (SMB) 3.0/3.02 file shares
SQL 2012 o superior.
16
18. Patrones comunes de los resultados de DMV
• Es común ver alta la latencia de escritura en los archivos de datos de la TempDB
Asegurarse de tener múltiples archivos de datos (4 – 8)
Usar Trace Flag 1118
Considerar ubicar la TempDB en discos SSD
• Si se ven alta latencia de lectura en los archivos de datos de bases de usuarios
Buscar signos de presión de memoria.
Realizar mantenimientos de índices
Considerar agregar mas RAM
En SQL 2014 considerar el uso de Buffer Pool Extension BPE
18
19. Herramientas para evaluar performance de I/O
Diskspd (evolución del SQLIO) – Herramienta ideal para el testeo y validación del storage
https://gallery.technet.microsoft.com/DiskSpd-a-robust-storage-6cd2f223
Ejemplo 1
Especifica un tamaño de bloque de 256K, se ejecuta secuencialmente, 100% lectura. Corre por
10 segundos. Corre 8 IO simultáneos y 4 threads por destino. Se ejecuta en el disco físico n# 9
Diskspd.exe -b256K -d10 -o8 -t4 -a0,1 #9
19
20. Herramientas para evaluar performance de I/O
Command Line: Diskspd.exe -b256K -d10 -o8 -t4 -a0,1 #9
Input parameters:
timespan: 1
-------------
duration: 10s
warm up time: 5s
cool down time: 0s
random seed: 0
advanced affinity: 0, 1
path: '#9'
think time: 0ms
burst size: 0
using software and hardware cache
performing read test
block size: 262144
number of outstanding I/O operations: 8
stride size: 262144
thread stride size: 0
threads per file: 4
using I/O Completion Ports
IO priority: normal
20
22. Herramientas para evaluar performance de I/O
Ejemplo 2
Especifica un tamaño de bloque de 8K, Corre por 60 segundos ,deshabilita todo el chache de
hardware y software . Corre 2 IO simultáneos y 4 threads por destino. Aleatoriamente 30% de
escritura y 70% de lectura. Crea un archive de test de 50MB
Diskspd.exe -b8K -d60 -h -L -o2 -t4 -r -w30 -c50M c:io.dat
22
23. Herramientas para evaluar performance de I/O
Command Line: Diskspd.exe -b8K -d60 -h -L -o2 -t4 -r -w30 -c50M c:io.dat
Input parameters:
timespan: 1
-------------
duration: 60s
warm up time: 5s
cool down time: 0s
measuring latency
random seed: 0
path: 'c:io.dat'
think time: 0ms
burst size: 0
software and hardware cache disabled
performing mix test (write/read ratio: 30/100)
block size: 8192
using random I/O (alignment: 8192)
number of outstanding I/O operations: 2
stride size: 8192
thread stride size: 0
threads per file: 4
using I/O Completion Ports
IO priority: normal
23
29. Creación de un modelo de análisis predictivo en la nube
04 de Mayo 2016(12 pm GMT -5)
Patricio Cofre
Resúmen:
Microsoft Azure ofrece una solución de análisis predictivo 100% Cloud,
donde es posible realizar el proceso analítico de búsqueda de patrones
en los datos, y a la vez la explotación de estos modelos en un ambiente
de producción altamente disponible y escalable como lo es Microsoft
Azure.
Próximo Evento