2. Presentando a: Eduardo Castro Martinez
Microsoft SQL Server MVP
Organizador del SQL Saturday Costa Rica
2
2
3. Agenda
Presentar metodología de las pruebas de carga
Prueba de carga Reporting Services
La prueba de carga de Análisis Services
Analizar los resultados y los cuellos de botella de rendimiento
Mejores prácticas
3
4. ¿Por qué la prueba de carga?
Determinar el rendimiento del servidor
Entender cómo los recursos del servidor e impacto de carga
Hardware servidor
4
6. Como hacer pruebas de carga?
Paso 1: Establecer rendimiento objetivo
Paso 2: Preparar las pruebas de carga
Paso 3: Ejecutar y analizar las pruebas de carga
¿Alcanzamos la meta?
Sí - hemos terminado
No - identificar y eliminar los cuellos de botella de rendimiento
Vaya al paso 3.
6
7. Total de usuarios vs usuarios concurrentes
Users
Tiempo
2 usuarios simultáneos
7
8. Establecer Objetivo Desempeño
Estudio de caso
Informe de carga de trabajo
Informe de uso de pico - 22 de noviembre, 09 a.m.-10 a.m.
200 informes ejecutados por 20 usuarios distintos
200/3, 600 = 0,05 reportes / seg
Estimar las cargas futuras
500 usuarios - aumento x25 (500/20)
0.05 x 25 = 1.25 reports / seg
Derivar rendimiento objetivo
Vamos doble de 2 x 1,25 = 2,5 informes / seg
8
9. Establecer Objetivo Desempeño
Acerca de los informes y consultas
Los informes no nacen iguales
Un "informe" o "consulta" es una abstracción
Piense en "vehículo" y la carretera es la capacidad
9
10. Preparar pruebas
Reporting Services
Identificar una mezcla de informes
10-15 informes
Informes lentos y rápidos
Obtener direcciones URL de informe y valores de los parámetros
Utilice (edición Ultimate o prueba) de Visual Studio para crear:
Prueba de rendimiento web - pruebas "rápido y sucio"
Unidad de prueba - pruebas personalizadas, por ejemplo, para la manipulación parámetro
10
11. Crear nueva prueba de carga
Reporting Services
Utilice Crear Nuevo asistente de prueba de carga y configurar
Patrón de carga - constante o escalonada
Mezcla de prueba - una colección de la web o / y pruebas unitarias
Conjuntos de contadores - CPU, memoria, utilización de disco
Configuración de ejecución - contadores, tiempo de calentamiento, la duración del ensayo
o iteraciones
Consejo: Aumentar la MaxActiveReqForOneUser establecer en
rsreportserver.config a un gran valor, por ejemplo, 999999
11
13. Ejecutar y analizar las pruebas de carga
Ejecute la prueba de carga con carga escalonada
Trate de no utilización de los servidores más del 80%
Obtenga y anote:
Rendimiento
Informes / seg
Usuarios simultáneos
Informes / seg
80%
Esté atento a los errores!
VS logra 250 virtuales
usuarios
Usuarios
13
14. Encontrar a los cuellos de botella de rendimiento
Cada sistema tiene un punto de saturación
Utilice el rendimiento de Windows
contadores para descubrir cuellos de botella
Cuellos de botella típicos
CPU (Procesador: Procesador%
Tiempo)
Memoria (Memory: Disponible MBytes)
HDD (DiscoFísico: El disco actual
Longitud de la cola)
Red (Network Interface:
Bytes enviados / seg, Bytes recibidos / s)
CPU
RED
BUS
RAM
14
HDD
16. Pruebas de carga de Analysis Services
Descargue el marco de pruebas de carga SSAS
AS Generador de consultas (ASQueryGenerator)
Genera plantillas de consulta
Soporta consultas con parámetros
AS Load Simulator (ASLoadSim)
Implementa un plugin personalizado de prueba de Visual Studio
Incluye SSAS pruebas de carga de las Mejores Prácticas documento - leerlo!
Otra opción que no requiere Visual Studio
AS Performance Workbench
http://asperfwb.codeplex.com/
16
17. Mejores Prácticas de Rendimiento
Planifique para pruebas de carga durante los ciclos en ejecución
Optimizar antes de escalar hacia arriba o hacia fuera
Reporting Services
Analizar ExecutionLog y ajustar consultas
Leer SSRS optimizaciones de rendimiento
http://tinyurl.com/rsperf
Analysis Services
Utilice el Analizador de SQL para obtener SE y FE desglose tiempo
Servidor Tune y consultas - leer Analysis Services Performance Guide 2008
Uso Xperf para entender si las consultas son de disco o CPU cota
http://preview.tinyurl.com/xperfssas
17
18. Mejores Prácticas de Rendimiento
Actualize a SSRS 2008 o posterior
Nuevo diseño de motor de procesamiento
Mucho menos memoria
Escala de 3-4 x número de usuarios que en 2005
Actualize a SSAS 2008 o posterior
Modo de secuencia de cálculo
Las consultas se ejecutan 20-60% más rápido
18
19. EL DISEÑO DE UNA
INFRAESCTRUCTURA DE ANALYSIS
SERVICES
20. Análisis Requisitos de Servicios de Recursos
Requisitos de memoria y procesador
Requisitos de disco
Decidir entre 32 bits y servidores de 64 bits
20
21. Consideraciones sobre la memoria y
procesador Requisitos
Versión de Windows
Windows Server ™ 2003,
Enterprise Edition,
Versión de 64 bits
Windows Server 2003,
Datacenter Edition,
Versión de 64 bits
Windows Server 2003,
Standard Edition
Windows 2000 Server
La memoria
máxima
64 GB
Procesadores
Máximo
8
512 GB
32
3 GB utilizando el
modificador / 3GB
2 GB
4
4
Windows 2000 Advanced
Server / Windows Server 2003
Enterprise Edition
3 GB utilizando el
modificador / 3GB
8
Windows 2000 Server /
Windows Server 2003
Datacenter Edition
3 GB utilizando el
modificador / 3GB
32
21
22. Disco Requerimientos
El espacio de disco para los cubos
Espacio en disco para las agregaciones
Espacio en disco para la minería de datos
El espacio en disco para el procesamiento
de objetos
El espacio en disco para el mantenimiento
22
24. Opciones para la distribución de la carga de trabajo
Utilice un servidor separado para cada base
de datos de Analysis Services
Utilice un servidor independiente para el
almacén de datos relacional
Utilice un servidor de ensayo para el
procesamiento
24
25. Distribuir Componentes de Analysis Services
¿Cuáles son las ventajas y los retos de la distribución de diversos
componentes?
¿Qué factores considera usted cuando usted decide si se debe distribuir una
solución de Analysis Services?
25
26. Opciones para Analysis Services disponibilidad
El uso de Equilibrio de carga de red
El uso de clústeres de servidores
26
27. Diseño Analysis Services disponibilidad
Hardware
Sistema operativo
La redundancia de datos
Disponibilidad Cube
Failover
27
28. ¿Por qué utilizar el particionamiento?
Rendimiento de las consultas.
La carga de datos a granel.
Realización de grandes cambios.
El archivo de datos.
El mantenimiento de índices.
Copia de seguridad y recuperación.
Introducción a la tabla de particiones, donde por Chad Kingsley
28
29. ¿Por qué partición? - Capacidad de administración
Archiving
Utilizar un enfoque de ventana deslizante
Procesamiento de ETL más fácil
Construir un nuevo conjunto de datos en una tabla de ensayo
Añadir índices y restricciones
Recopilar estadísticas
Luego cambiar la tabla para una partición en el objetivo
Mantenimiento fácil
Tabla de particiones, por ejemplo, para comprimir los datos
Partición de índice local a reconstruir
Cinco consejos Puesta a punto para su Data Warehouse, Jeff Musgo
29
30. El particionamiento de datos relacionales
Particionamiento de las tablas de hechos
Elija una llave de partición y el intervalo de partición apropiado
Utilice SWITCH, MERGE y SPLIT para históricos
Las mejores prácticas es utilizar índices con particiones alineadas
30
31. Partición de datos multidimensionales
Partición Datos multidimensionales?
Analysis Services Particiones
Mejores prácticas para la creación de particiones Datos
multidimensionales
31
33. Particiones
Mecanismo para romper gran cubo en
trozos manejables
Las particiones pueden ser agregados, procesado,
eliminado de forma independiente
Actualización de los datos del mes pasado no afecta a las
particiones meses anteriores
Sliding escenario ventana fácil de implementar
Por ejemplo Ventana de 24 meses añadir 06 2006 partición y borrar
junio 2004
Las particiones pueden tener diferentes
configuraciones de almacenamiento
Alto impacto Almacenamiento de datos con SQL Server Integration Services y Analysis Services. Marin Bezic
34. Beneficios de la Partición
Las particiones pueden ser procesados y consultar
en paralelo
Mejor utilización de los recursos del servidor
Los tiempos de carga del almacén de datos reducido
Las consultas se aislaron a las particiones
pertinentes deben recorrer menos datos
SELECT ... FROM ... DONDE [Hora]. [Año]. [2006]
Sólo consulta 2.006 particiones
Resultado final particiones permiten:
Manejabilidad
Rendimiento
Escalabilidad
Alto impacto Almacenamiento de datos con SQL Server Integration Services y Analysis Services. Marin Bezic
35. Mejores prácticas para la creación de
particiones
No más de 20 millones de filas por partición
Especifique rebanada partición
Opcional para MOLAP - servidor detecta automáticamente la rebanada y
valida contra rebanada especificado por el usuario (si existe)
Debe especificarse para ROLAP
Administrar la configuración de almacenamiento de los patrones de
uso
Preguntó frecuentes MOLAP con mucha aggs
Periódicamente consultada MOLAP con menos o ninguna aggs
ROLAP histórico sin aggs
Unidad de disco alternativo - usí varios controladores para evitar la E
/ S de contención
Alto impacto Almacenamiento de datos con SQL Server Integration Services y Analysis Services. Marin Bezic
36. Analysis Services Particiones Arquitectura
Particiones es a nivel de grupo de medida
Las particiones se procesan en paralelo para un grupo de medida
Las particiones pueden ser procesados selectivamente
Rodajas de datos son opcionales para MOLAP
Se requieren rodajas de datos para ROLAP
36
37. Directrices para la creación de particiones Datos
multidimensionales
Plímites artition
Almacenamiento modelo y el nivel de agregación
Datos sincronización
37
40. El particionamiento es For Real DW de
1 Partition per Day
31 Partitions, 1 Month of Data
Facts Database
Current Day Partition
ALTER PARTITION FUNCTION PerDay ()
SPLIT RANGE(CAST(CONVERT(varchar, GETDATE()+1, 112) AS int))
0
1
2
3
4
5
6
7
8
9
10 11
12 13 14 15 16 17 18 19 20 21 22 23
8 Parallel Partition
Processing Jobs
Cube
Current Day Partition Set
...
WHERE [date] = CAST(CONVERT(varchar, GETDATE(), 112) AS int)
AND [hour] IN (0, 11, 17)
0
11
17
1
14
18
2
5
22
3
12
21
4
13
19
6
15
23
7
9
20
8
10
16
8 Evenly Distributed Partitions per Day
3120 Partitions, 13 Months of Data
DBI407 Mejores Prácticas para el Nivel 1 Edificio Soluciones de Enterprise Business Intelligence con Microsoft SQL Server Analysis Services, Adam Jorgensen
43. SQL Server Equipo de Asesoramiento al Cliente
Funciona en los más grandes, más complejos proyectos de SQL en todo el mundo
MySpace - 4,4 millones de usuarios concurrentes en su momento pico, 8000000000 amigo
relaciones, 34 mil millones de e-mails, 1 PetaByte tienda, de ampliación horizontal usando SSB
y SOA
http:/ /www.microsoft.com/casestudies/Case_Study_Detail.aspx?casestudyid=4000004532
Bwin - La mayoría popular sitio de juegos en línea de Europa - la base de datos 30000 trans /
Segundo, el lema: "El fracaso no es una opción"; almacenamiento total de 100 TB
http:/ /www.microsoft.com/casestudies/Case_Study_Detail.aspx?casestudyid=4000004138
Corea Telecom - grande telco en Corea sirve a 26 millones de clientes; 3TB Data Warehouse
http://www.microsoft.com/casestudies/Case_Study_Detail.aspx?casestudyid=4000001993
SQLCAT.com Y http://blogs.msdn.com/mssqlisv
43
44. Infraestructura
Sistema de base de datos compartida escalable utiliza un servidor de fábrica y
tres presentación de informes servidores.
Cada servidor es un servidor HP BL460 con 32 GB de memoria RAM
instalada, funcionamiento ocho procesadores
44
45. Estudio de caso - AdCenter
EMC DMX V-Max para manejar la E / S
V-Max son dedicado a la aplicación
Cientos de discos y ejes dedicados a este proceso
Corto acariciando los discos para asegurarse de más rápido
de E / S
Trabaja en estrecha colaboración con EMC directamente
(presente en el EMC World regularmente)
Pruebas con EMC EFDs (Enterprise Flash Drives)
Equipo de Ingeniería de Sistemas dedicado al proceso de DW
Trabajar en estrecha colaboración con diversos proveedores
(EMC, HDS, etc)
Referencias
Acelerar Microsoft adCenter con Microsoft SQL Server 2008 Analysis
Services.
PRÁCTICAS REALES: Rendimiento escalado de Microsoft adCenter con
Microsoft SQL Server 2008 Analysis Services en EMC VMAX
46. adCenter aplicación de cubo
PRÁCTICAS REALES: prestaciones de escalado MICROSOFT SQL SERVER 2008 SERVICIOS DE ANÁLISIS EN MICROSOFT AdCenter
47. EMC Symmetrix VMAX
Cada servidor está conectado a una de EMC Symmetrix
Array VMAX través de bus de host de doble adaptadores
El servidor de la fábrica utiliza un volumen de fábrica 3 TB
alojada en un 80 400 GB 10000 rpm Fibra Discos de canal
en una configuración duplicada y bandas (RAID 1 + 0).
Cada 24 horas el volumen fábrica replica los cambios en un
volumen de informes 3 TB hecho por nueve 400 EFDs GB
configurados en una configuración de banda paridad
distribuida (RAID 5)
PRÁCTICAS REALES: prestaciones de escalado MICROSOFT SQL SERVER 2008 SERVICIOS DE ANÁLISIS EN MICROSOFT AdCenter
48. Diseño Cube
Múltiples data marts alimentan el procesamiento y presentación de informes
OLAP sistema.
Análisis Services proporciona un indicador clave de rendimiento (KPI) servicios
Los datos se alimenta a base de SQL Server Integration Services (SSIS)
Cada hora, el paquete SSIS carga nueva hechos en una base de datos
provisional relacional.
Independiente Paquetes SSIS cargan dimensión datos de otras fuentes
PRÁCTICAS REALES: prestaciones de escalado MICROSOFT SQL SERVER 2008 SERVICIOS DE ANÁLISIS EN MICROSOFT AdCenter
49. Carga de datos de diario
Cada trimestre un ProcessUpdate la operación se utiliza para actualizar
dimensión datos
PRÁCTICAS REALES: prestaciones de escalado MICROSOFT SQL SERVER 2008 SERVICIOS DE ANÁLISIS EN MICROSOFT AdCenter
50. Consulta de datos
PRÁCTICAS REALES: prestaciones de escalado MICROSOFT SQL SERVER 2008 SERVICIOS DE ANÁLISIS EN MICROSOFT AdCenter
52. Administración
La actualización de datos del cubo multidimensional en la servidor de fábrica
comporta las tareas de carga de datos (datos de carga de los datos relacionales
fuentes) Y el Cubo Proceso
PRÁCTICAS REALES: prestaciones de escalado MICROSOFT SQL SERVER 2008 SERVICIOS DE ANÁLISIS EN MICROSOFT AdCenter
53. Actualización de datos diaria
PRÁCTICAS REALES: prestaciones de escalado MICROSOFT SQL SERVER 2008 SERVICIOS DE ANÁLISIS EN MICROSOFT AdCenter
54. Montaje clon diario
PRÁCTICAS REALES: prestaciones de escalado MICROSOFT SQL SERVER 2008 SERVICIOS DE ANÁLISIS EN MICROSOFT AdCenter
55. Centro de Producción Anuncio
adCenter Production Environment
OLAP Standby Server
OLAP Processing Server
Windows Server 2003 x64 SP2
SQL Server Analysis Services
64GB RAM, 8 Xeon procs (16 cores)
HBA A
HBA A
HBA B
HBA B
Staging Data Warehouse
Windows Server 2003 x64 SP2
SQL Server Analysis Services
64GB RAM, 8 Xeon procs (16 cores)
Windows Server 2003 x64 SP2
SQL Server Enterprise Edition
32 GB RAM, 8 Xeon procs (16 cores)
HBA AA
HBA
HBA BB
HBA
HBA AA
HBA
Data Feeds
Windows Server 2003 x64 SP2
SQL Server Integration Services
Network Load Balancing
HBA BB
HBA
Host Bus Adapters: 400 MB/sec each
SAN
Fabric B
SAN
Fabric A
Standby OLAP LUN
RAID 1
19200 Max Reads
9600 Max Writes
180 300GB 10K Drives
Storage Area Network
OLAP LUN
RAID 1
DW LUN
19200 Max Reads
9600 Max Writes
180 300GB 10K Drives
RAID 1
2560 Max Reads
2560 Max Writes
32 300GB 10K Drives
DBI407 Mejores Prácticas para el Nivel 1 Edificio Soluciones de Enterprise Business Intelligence con Microsoft SQL Server Analysis Services, Adam Jorgensen
57. Yahoo - masivo de datos para la Escala
Intense
Oracle 10g
CDF
Archivo1
SSAS Cube Constructor
Partición 1
Partición 1
Partición 2
Partición 2
Partición N
Partición N
1.2TB/day
Archivo2
Filen
NAS
50 GB /hr
Servidores SSAS consulta
HW NLB
DBI407 Mejores Prácticas para el Nivel 1 Edificio Soluciones de Enterprise Business Intelligence con Microsoft SQL Server Analysis Services, Adam Jorgensen
12TB
cubo
59. Bloqueo en Analysis Services
Diseñar los cubos Servicio Análisis escalables y complejas, Denny Lee, Thomas Kejser
59
60. Bloqueo
INTERRUPTOR / MERGE debe tomar bloqueo SCH-M (pero se mantuvo sólo unos pocos ms)
Puede provocar el bloqueo de las colas
Si abultamiento en la tabla de particiones - puede causar unas operaciones de ordenación (utilizan lotes
pequeños)
Solución alternativa: partición parte en tiempo real en una independiente tabla. Mantener datos obsoletos
en particiones presentado
Diseñar los cubos Servicio Análisis escalables y complejas, Denny Lee, Thomas Kejser
60
61. Conmutación MOLAP En Acción
Idea básica:
Uso MOLAP de datos históricos
Proceso últimas particiones MOLAP menudo
Latencias típicas en minutos
Preocupaciones:
Cómo para dividir el cubo para una rápida y MOLAP frecuentes tratamiento
Manejo el bloqueo de procesamiento cuando se necesita actualización los datos
Diseñar los cubos Servicio Análisis escalables y complejas, Denny Lee, Thomas Kejser
61
62. Cubo de particionamiento
Particiones tanto por el tiempo y región
Procesamiento completo se puede hacer en particiones "activos"
Diseñar los cubos Servicio Análisis escalables y complejas, Denny Lee, Thomas Kejser
62
63. Cube Flipping
Recordemos: Bloqueo de nivel de servidor necesaria para proceso
Solución alternativa:
Dos copias del cubo, turnándose tratamiento
"Voltear "entre ellos
Dos maneras de flip:
Utilice ASLB de CodePlex
Escribe pequeña Excel Plug-in
63
64. ROLAP + MOLAP en Acción
Utilice MOLAP para histórico / rancio datos
Uso ROLAP para los datos actualizados con frecuencia
Diseñar los cubos Servicio Análisis escalables y complejas, Denny Lee, Thomas Kejser
64
65. Diseñar los cubos Servicio Análisis escalables y complejas, Denny Lee, Thomas Kejser
65
66. Diseñar los cubos Servicio Análisis escalables y complejas, Denny Lee, Thomas Kejser
66
67. Diseñar los cubos Servicio Análisis escalables y complejas, Denny Lee, Thomas Kejser
67
68. Resumiendo
Usted tiene que modificar su diseño si desea escalar
El particionamiento es absoluta crucial
Partición de la velocidad de procesamiento
Partición de latencia de los datos (en tiempo real frente a rancio)
Partición para el archivado de datos antiguos
Problema secundario anteriormente: Partición de velocidad de las
consultas
Hardware que realmente importa para grandes cubos
Dispositivos NAND son pareja hecha en el cielo.
Las pruebas muestran dos núcleos Nehalem CPU menudo puede
soportar cientos de usuarios
Equilibrar cuidadosamente IOPS vs memoria, tenga en cuenta la
parte caliente del cubo
68
DBI407 Mejores Prácticas para el Nivel 1 Edificio Soluciones de Enterprise Business Intelligence con Microsoft SQL Server Analysis Services, Adam Jorgensen