Cuando migramos de una matriz todo flash más antigua a una matriz todo flash más nueva (proveedor diferente pero bien establecido), comenzamos a ver un aumento de las esperas en SQL Sentry durante los puntos de control.
Versión: SQL Server 2012 Sp4
En nuestro antiguo almacenamiento, nuestras esperas fueron de alrededor de 2k con "picos" a 2500 durante un punto de control, con el nuevo almacenamiento, los picos suelen ser de 10k con picos cerca de 50k. Centinela nos señala más hacia los PAGEIOLATCH
watis. Al hacer nuestro propio análisis, parece ser una combinación de PAGEIOLATCH and PAGELATCH
esperas. Usando Perfmon, generalmente podemos decir que cuantas más páginas revisamos, más esperas tenemos, pero solo estamos descargando ~ 125 mb durante el control. Nuestra carga de trabajo es principalmente escrituras (inserciones / actualizaciones principalmente).
El proveedor de almacenamiento nos ha demostrado que la matriz de conexión directa de Fibre Channel responde por debajo de 1 ms durante estos eventos de punto de control. El HBA también confirma los números de la matriz. Tampoco creemos que sea un problema de colas de HBA ya que la profundidad de la cola nunca fue superior a 8. También probamos un HBA más nuevo, cambiando la configuración de ZIO, acelerador de ejecución y profundidad de cola en vano. También hemos aumentado la memoria del servidor de 500 GB a 1 TB sin cambios. Durante el proceso del punto de control, vemos un pico de 2 a 4 núcleos individuales (de 16) al 100%, pero la CPU total es de alrededor del 20%. El BIOS también está configurado para un alto rendimiento. Curiosamente, vemos que las CPU generalmente están en un estado de suspensión C2 a pesar de que lo hemos deshabilitado, por lo que todavía estamos investigando por qué el estado de suspensión supera C1.
Podemos ver que casi todas las esperas se encuentran en páginas de datos con un tipo de página PFS ocasional de DCM. Las esperas están en bases de datos de usuario, no en tempdb. También vemos que las esperas se encuentran en varias páginas de datos, con algunos SPID esperando en la misma página. El diseño de la base de datos tiene un par de puntos calientes de inserción, pero el mismo diseño estaba en su lugar con el almacenamiento anterior.
Al ejecutar un bucle de esta consulta 100 veces, pudimos detectar cuántos SPID estaban esperando en el disco frente a la memoria
SELECT
[owt].[wait_type], count(*) as waitcount
FROM sys.dm_os_waiting_tasks [owt]
WHERE [owt].[wait_type] LIKE 'PAGE%'
group by [owt].[wait_type]
order by 1
GO 100
Lo "bueno" es que podemos reproducir fácilmente el problema en nuestro entorno de rendimiento que tiene la misma matriz de modelos y especificaciones de servidor similares. Agradecería cualquier idea sobre dónde buscar o cómo reducir el problema. En este momento nuestras próximas pruebas incluyen: un nuevo servidor con una placa base más nueva y más CPU; deshabilitar el datakeeper de SIOS (a pesar de que esto ha estado en su lugar con el almacenamiento anterior); Diferente marca HBA.
exec sp_Blitz @outputtype = 'markdown'
Prioridad 5: Fiabilidad : - Módulos de terceros peligrosos - Sophos Limited - Protección de desbordamiento de búfer de Sophos - SOPHOS ~ 2.DLL - se instala un módulo de terceros peligroso sospechoso.
Prioridad 200: Informativo : - Nodo de clúster: este es un nodo en un clúster. - TraceFlag On: el indicador de seguimiento 1117 está habilitado globalmente. - La marca de seguimiento 1118 está habilitada globalmente. - La marca de seguimiento 3226 está habilitada globalmente.
Prioridad 200: Licencias : - Características de Enterprise Edition en uso * xxxxx - La base de datos [xxxxxx] está usando Compresión. Si esta base de datos se restaura en un servidor Standard Edition, la restauración fallará en versiones anteriores a 2016 SP1. * xxxxx: la base de datos [xxxxxx] está utilizando Particionamiento. Si esta base de datos se restaura en un servidor Standard Edition, la restauración fallará en versiones anteriores a 2016 SP1.
Prioridad 240: Estadísticas de espera : - No se detectaron esperas significativas - Es posible que este servidor esté inactivo o que alguien haya borrado las estadísticas de espera recientemente.
Prioridad 250: Información del servidor: - Hardware - Procesadores lógicos: 16. Memoria física: 512GB. - Hardware - NUMA Config - Nodo: 0 Estado: Programadores en línea EN LÍNEA: 8 Programadores en línea: 0 Grupo de procesadores: 0 Nodo de memoria: 0 Memoria VAS reservada GB: 1177 - Nodo: 1 Estado: Programadores en línea EN LÍNEA: 8 Programadores en línea: 0 Procesador Grupo: 0 Nodo de memoria: 1 VAS de memoria reservada GB: 0 - Plan de energía - Su servidor tiene CPU de 3.50 GHz y está en modo de energía de alto rendimiento - Último reinicio del servidor - 4 de julio de 2018 4:56 AM - Último reinicio del servidor SQL - 5 de julio 2018 5:11 AM - Servicio SQL Server - Versión: 11.0.7462.6. Nivel de parche: SP4. Edición: Enterprise Edition (64 bits). Grupos de disponibilidad habilitados: 1. Estado del administrador de grupos de disponibilidad: 1 - Servidor virtual - Tipo: (HYPERVISOR) - Versión de Windows - Está ejecutando una versión bastante moderna de Windows: era Server 2012R2, versión 6.3
Prioridad 200: Configuración del servidor no predeterminada: - XP del agente: esta opción sp_configure ha cambiado. Su valor predeterminado es 0 y se ha establecido en 1. - compresión de copia de seguridad predeterminada: esta opción sp_configure se ha cambiado. Su valor predeterminado es 0 y se ha establecido en 1. - umbral (s) de proceso bloqueado - Esta opción sp_configure se ha cambiado. Su valor predeterminado es 0 y se ha establecido en 20. - umbral de costo para paralelismo: esta opción sp_configure se ha cambiado. Su valor predeterminado es 5 y se ha establecido en 30. - XP de correo electrónico de base de datos: esta opción sp_configure se ha cambiado. Su valor predeterminado es 0 y se ha establecido en 1. - grado máximo de paralelismo: esta opción sp_configure se ha cambiado. Su valor predeterminado es 0 y se ha establecido en 8. - memoria máxima del servidor (MB) - Esta opción sp_configure se ha cambiado. Su valor predeterminado es 2147483647 y se ha establecido en 496640. - min server memory (MB) - Esta opción sp_configure ha cambiado. Su valor predeterminado es 0 y se ha establecido en 8196. - Optimizar para cargas de trabajo ad hoc - Esta opción sp_configure se ha cambiado. Su valor predeterminado es 0 y se ha establecido en 1. - acceso remoto: esta opción sp_configure se ha cambiado. Su valor predeterminado es 1 y se ha establecido en 0. - conexiones de administración remota: esta opción sp_configure se ha cambiado. Su valor predeterminado es 0 y se ha establecido en 1. - buscar procs de inicio - Esta opción sp_configure se ha cambiado. Su valor predeterminado es 0 y se ha establecido en 1. - Mostrar opciones avanzadas - Esta opción sp_configure se ha cambiado. Su valor predeterminado es 0 y se ha establecido en 1. - xp_cmdshell: esta opción sp_configure se ha cambiado.