Analizando la performance del subsistema de IO
-
Upload
spanishpassvc -
Category
Technology
-
view
393 -
download
0
Transcript of Analizando la performance del subsistema de IO
![Page 1: Analizando la performance del subsistema de IO](https://reader035.fdocument.pub/reader035/viewer/2022081517/587b32801a28ab057d8b6607/html5/thumbnails/1.jpg)
Analizando la performance del subsistema de I/O27 de Abril 2016 (12 pm GMT -5)
Javier VillegasResumen:
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 EventosCreación de un modelo de
análisis predictivo en la nube04 de Mayo
Patricio Cofre
Power BI con MS Dynamics AX
11 de MayoJuan Manuel Rafael Fabian
Administrando la Continuidad del Negocio con
Azure SQL Database18 de Mayo
Adrian Miranda
![Page 2: Analizando la performance del subsistema de IO](https://reader035.fdocument.pub/reader035/viewer/2022081517/587b32801a28ab057d8b6607/html5/thumbnails/2.jpg)
Manténgase conectado a nosotros!
Visítenos en http://globalspanish.sqlpass.org
/SpanishPASSVC
lnkd.in/dtYBzev
/user/SpanishPASSVC
/SpanishPASSVC
![Page 3: Analizando la performance del subsistema de IO](https://reader035.fdocument.pub/reader035/viewer/2022081517/587b32801a28ab057d8b6607/html5/thumbnails/3.jpg)
3
![Page 4: Analizando la performance del subsistema de IO](https://reader035.fdocument.pub/reader035/viewer/2022081517/587b32801a28ab057d8b6607/html5/thumbnails/4.jpg)
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.
![Page 5: Analizando la performance del subsistema de IO](https://reader035.fdocument.pub/reader035/viewer/2022081517/587b32801a28ab057d8b6607/html5/thumbnails/5.jpg)
Sigan Participando!• Obtén tu membresía gratuita en sqlpass.org
• Linked In: http://www.sqlpass.org/linkedin• Facebook: http://www.sqlpass.org/facebook• Twitter: @SQLPASS• PASS: http://www.sqlpass.org
![Page 6: Analizando la performance del subsistema de IO](https://reader035.fdocument.pub/reader035/viewer/2022081517/587b32801a28ab057d8b6607/html5/thumbnails/6.jpg)
Analizando la performance del subsistema de I/O
27 de Abril de 2016Javier VillegasMCP y MCTS.Trabajando como profesional de SQL Server desde 1997DBA Manager en Mediterranean Shipping Company desde 2006Miembro de la comunidad PASS desde 2008Moderador: Carlos Ulate
![Page 7: Analizando la performance del subsistema de IO](https://reader035.fdocument.pub/reader035/viewer/2022081517/587b32801a28ab057d8b6607/html5/thumbnails/7.jpg)
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
![Page 8: Analizando la performance del subsistema de IO](https://reader035.fdocument.pub/reader035/viewer/2022081517/587b32801a28ab057d8b6607/html5/thumbnails/8.jpg)
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
![Page 9: Analizando la performance del subsistema de IO](https://reader035.fdocument.pub/reader035/viewer/2022081517/587b32801a28ab057d8b6607/html5/thumbnails/9.jpg)
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
![Page 10: Analizando la performance del subsistema de IO](https://reader035.fdocument.pub/reader035/viewer/2022081517/587b32801a28ab057d8b6607/html5/thumbnails/10.jpg)
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
![Page 11: Analizando la performance del subsistema de IO](https://reader035.fdocument.pub/reader035/viewer/2022081517/587b32801a28ab057d8b6607/html5/thumbnails/11.jpg)
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
![Page 12: Analizando la performance del subsistema de IO](https://reader035.fdocument.pub/reader035/viewer/2022081517/587b32801a28ab057d8b6607/html5/thumbnails/12.jpg)
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)
![Page 13: Analizando la performance del subsistema de IO](https://reader035.fdocument.pub/reader035/viewer/2022081517/587b32801a28ab057d8b6607/html5/thumbnails/13.jpg)
13
Task Manager
![Page 14: Analizando la performance del subsistema de IO](https://reader035.fdocument.pub/reader035/viewer/2022081517/587b32801a28ab057d8b6607/html5/thumbnails/14.jpg)
14
Resource Monitor
![Page 15: Analizando la performance del subsistema de IO](https://reader035.fdocument.pub/reader035/viewer/2022081517/587b32801a28ab057d8b6607/html5/thumbnails/15.jpg)
15
PerfMon
![Page 16: Analizando la performance del subsistema de IO](https://reader035.fdocument.pub/reader035/viewer/2022081517/587b32801a28ab057d8b6607/html5/thumbnails/16.jpg)
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 cacheFiber-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 sharesSQL 2012 o superior.
![Page 17: Analizando la performance del subsistema de IO](https://reader035.fdocument.pub/reader035/viewer/2022081517/587b32801a28ab057d8b6607/html5/thumbnails/17.jpg)
17
DEMOI/O Diagnostic Queries
![Page 18: Analizando la performance del subsistema de IO](https://reader035.fdocument.pub/reader035/viewer/2022081517/587b32801a28ab057d8b6607/html5/thumbnails/18.jpg)
18
Patrones comunes de los resultados de DMV
• Es común ver alta la latencia de escritura en los archivos de datos de la TempDBAsegurarse de tener múltiples archivos de datos (4 – 8)Usar Trace Flag 1118Considerar ubicar la TempDB en discos SSD
• Si se ven alta latencia de lectura en los archivos de datos de bases de usuariosBuscar signos de presión de memoria.Realizar mantenimientos de índicesConsiderar agregar mas RAMEn SQL 2014 considerar el uso de Buffer Pool Extension BPE
![Page 19: Analizando la performance del subsistema de IO](https://reader035.fdocument.pub/reader035/viewer/2022081517/587b32801a28ab057d8b6607/html5/thumbnails/19.jpg)
19
Herramientas para evaluar performance de I/O
Diskspd (evolución del SQLIO) – Herramienta ideal para el testeo y validación del storagehttps://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
![Page 20: Analizando la performance del subsistema de IO](https://reader035.fdocument.pub/reader035/viewer/2022081517/587b32801a28ab057d8b6607/html5/thumbnails/20.jpg)
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
![Page 21: Analizando la performance del subsistema de IO](https://reader035.fdocument.pub/reader035/viewer/2022081517/587b32801a28ab057d8b6607/html5/thumbnails/21.jpg)
21
Herramientas para evaluar performance de I/O
Results for timespan 1:*******************************************************************************
actual test time: 10.01sthread count: 4
Total IOthread | bytes | I/Os | MB/s | I/O per s | file------------------------------------------------------------------------------ 0 | 1385431040 | 5285 | 132.02 | 528.06 | #9 (186GB) 1 | 1385431040 | 5285 | 132.02 | 528.06 | #9 (186GB) 2 | 1385431040 | 5285 | 132.02 | 528.06 | #9 (186GB) 3 | 1385693184 | 5286 | 132.04 | 528.16 | #9 (186GB)------------------------------------------------------------------------------total: 5541986304 | 21141 | 528.09 | 2112.35
Read IOthread | bytes | I/Os | MB/s | I/O per s | file------------------------------------------------------------------------------ 0 | 1385431040 | 5285 | 132.02 | 528.06 | #9 (186GB) 1 | 1385431040 | 5285 | 132.02 | 528.06 | #9 (186GB) 2 | 1385431040 | 5285 | 132.02 | 528.06 | #9 (186GB) 3 | 1385693184 | 5286 | 132.04 | 528.16 | #9 (186GB)------------------------------------------------------------------------------total: 5541986304 | 21141 | 528.09 | 2112.35
Write IOthread | bytes | I/Os | MB/s | I/O per s | file------------------------------------------------------------------------------ 0 | 0 | 0 | 0.00 | 0.00 | #9 (186GB) 1 | 0 | 0 | 0.00 | 0.00 | #9 (186GB) 2 | 0 | 0 | 0.00 | 0.00 | #9 (186GB) 3 | 0 | 0 | 0.00 | 0.00 | #9 (186GB)------------------------------------------------------------------------------total: 0 | 0 | 0.00 | 0.00
![Page 22: Analizando la performance del subsistema de IO](https://reader035.fdocument.pub/reader035/viewer/2022081517/587b32801a28ab057d8b6607/html5/thumbnails/22.jpg)
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
![Page 23: Analizando la performance del subsistema de IO](https://reader035.fdocument.pub/reader035/viewer/2022081517/587b32801a28ab057d8b6607/html5/thumbnails/23.jpg)
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
![Page 24: Analizando la performance del subsistema de IO](https://reader035.fdocument.pub/reader035/viewer/2022081517/587b32801a28ab057d8b6607/html5/thumbnails/24.jpg)
24
Herramientas para evaluar performance de I/O
Results for timespan 1:*******************************************************************************
actual test time: 60.00sthread count: 4
Total IOthread | bytes | I/Os | MB/s | I/O per s | AvgLat | LatStdDev | file----------------------------------------------------------------------------------------------------- 0 | 44900352 | 5481 | 0.71 | 91.35 | 21.910 | 27.633 | c:\io.dat (50MB) 1 | 44720128 | 5459 | 0.71 | 90.98 | 21.987 | 26.877 | c:\io.dat (50MB) 2 | 44761088 | 5464 | 0.71 | 91.07 | 21.981 | 26.822 | c:\io.dat (50MB) 3 | 45817856 | 5593 | 0.73 | 93.22 | 21.466 | 26.323 | c:\io.dat (50MB)-----------------------------------------------------------------------------------------------------total: 180199424 | 21997 | 2.86 | 366.61 | 21.834 | 26.916
Read IOthread | bytes | I/Os | MB/s | I/O per s | AvgLat | LatStdDev | file----------------------------------------------------------------------------------------------------- 0 | 31842304 | 3887 | 0.51 | 64.78 | 12.384 | 13.325 | c:\io.dat (50MB) 1 | 31121408 | 3799 | 0.49 | 63.32 | 12.258 | 13.198 | c:\io.dat (50MB) 2 | 31326208 | 3824 | 0.50 | 63.73 | 12.344 | 13.800 | c:\io.dat (50MB) 3 | 32366592 | 3951 | 0.51 | 65.85 | 11.886 | 12.602 | c:\io.dat (50MB)-----------------------------------------------------------------------------------------------------total: 126656512 | 15461 | 2.01 | 257.68 | 12.216 | 13.235
Write IOthread | bytes | I/Os | MB/s | I/O per s | AvgLat | LatStdDev | file----------------------------------------------------------------------------------------------------- 0 | 13058048 | 1594 | 0.21 | 26.57 | 45.140 | 37.837 | c:\io.dat (50MB) 1 | 13598720 | 1660 | 0.22 | 27.67 | 44.251 | 35.563 | c:\io.dat (50MB) 2 | 13434880 | 1640 | 0.21 | 27.33 | 44.453 | 35.090 | c:\io.dat (50MB) 3 | 13451264 | 1642 | 0.21 | 27.37 | 44.518 | 35.010 | c:\io.dat (50MB)-----------------------------------------------------------------------------------------------------total: 53542912 | 6536 | 0.85 | 108.93 | 44.585 | 35.880
![Page 25: Analizando la performance del subsistema de IO](https://reader035.fdocument.pub/reader035/viewer/2022081517/587b32801a28ab057d8b6607/html5/thumbnails/25.jpg)
25
Herramientas para evaluar performance de I/O
%-ile | Read (ms) | Write (ms) | Total (ms)---------------------------------------------- min | 0.152 | 3.474 | 0.152 25th | 4.242 | 20.145 | 6.114 50th | 8.638 | 34.130 | 12.401 75th | 15.380 | 57.890 | 27.417 90th | 27.425 | 89.141 | 52.325 95th | 37.417 | 112.730 | 74.555 99th | 63.537 | 173.054 | 129.1223-nines | 114.707 | 285.271 | 228.0234-nines | 156.141 | 423.908 | 317.2515-nines | 157.008 | 423.908 | 423.9086-nines | 157.008 | 423.908 | 423.9087-nines | 157.008 | 423.908 | 423.9088-nines | 157.008 | 423.908 | 423.908 max | 157.008 | 423.908 | 423.908
![Page 26: Analizando la performance del subsistema de IO](https://reader035.fdocument.pub/reader035/viewer/2022081517/587b32801a28ab057d8b6607/html5/thumbnails/26.jpg)
26
Herramientas para evaluar performance de I/O
CristalDiskMark – Disk Benchmark utility - http://crystalmark.info/download/index-e.html
![Page 27: Analizando la performance del subsistema de IO](https://reader035.fdocument.pub/reader035/viewer/2022081517/587b32801a28ab057d8b6607/html5/thumbnails/27.jpg)
27
DEMOSET Statistics IO
Perfmon/Powershell
![Page 28: Analizando la performance del subsistema de IO](https://reader035.fdocument.pub/reader035/viewer/2022081517/587b32801a28ab057d8b6607/html5/thumbnails/28.jpg)
28
Preguntas ?
![Page 29: Analizando la performance del subsistema de IO](https://reader035.fdocument.pub/reader035/viewer/2022081517/587b32801a28ab057d8b6607/html5/thumbnails/29.jpg)
Creación de un modelo de análisis predictivo en la nube
04 de Mayo 2016(12 pm GMT -5)
Patricio CofreResú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