none
Micro caidas de sql server 2008 e internet information server (IIS) RRS feed

  • Pregunta

  • Buenas a @todos,

    Desde hace un tiempo estoy viendo en el servidor donde tengo instalado el sql server con varias BDs que sufre micro caídas.

    En esta maquina solo está funcionando el sql server 2008, el cual esta en replica con otra BD y esta en concreto actúa de subscriptor (recibe los cambio que se hacen en la otra BD). A este BD se conectan varios servicios web publicados/configurados en IIS en varias maquinas. 

    Cada x tiempo mas o menos 1 minuto y de forma constante se refleja en el administrador de tareas, en rendimiento, el consumo de CPU, caídas de 1 y 3 segundos en la que el motor de sql server deja de responder conexión afectando a todos el sistema que hay detrás.

    Los síntomas que veo es que a parte de esta caídas, es que en monitor de red se aprecia los mismos picos y en los publicadores de los servicios en IIS se aprecia una correlación parecida, con una gran incremento de uso de CPU inmediatamente después de la caída de procesamiento.

    En el registro de log de sql server no aparecen registro alguno al respecto y según en el monitor de actividad no aparece wait en esos momentos de caída. 

    CPU:

    

    RED:

    Ando un poco perdido porque desconozco como ver si estas caídas son problemas de la BD o son causa de alguna de las publicaciones en del IIS.

    Gracias de antemano porque cualquier comentario sera de ayuda.

    jueves, 31 de mayo de 2018 17:05

Todas las respuestas

  • No pones detalles de tu sistema operativo, si es Windows 10 y se ha estado actualizando es bueno que le instales controladores nativos a la tarjeta de red, porque al actualizarse Windows (en abril por ejemplo) te deja controladores genéricos, ve al sitio del fabricante y lo bajas (Broadcom, Intel, etc)
    jueves, 31 de mayo de 2018 19:42
  • Todas las maquinas, tanto la de Sql Server 2008 como los que tienen IIS son Windows Server 2008 R2 con SP1. Se encuentran actualizados a la ultima porque supuse que si había algún bug en el SO, las actualizaciones lo resolverían. 

    El driver de la tarjetas de red (HP NC382i DP Multifunction Gigabit Server Adapter) están actualizados a los últimos ofrecidos por el fabricante del servidor.

    Gracias por el comentario, voy a revisar la web del fabricante por si hay novedades.

     
    viernes, 1 de junio de 2018 6:43
  • Saludos,

    Trae los wait stats del servidor, si pudieras tambien una traza de perfmon para ver si no es un problema de red o los hilos o el queue deep esta siendo sobre saturado.


    Blog: www.sqlservertoolbox.blogspot.com.mx

    sábado, 2 de junio de 2018 3:13
  • Hola Enrique

    He sacado los datos de 'dm_os_wait_stats'.

    wait_type waiting_tasks_count wait_time_ms max_wait_time_ms signal_wait_time_ms
    LCK_M_S 5688 67630556 30408 233104
    LCK_M_U 1 7943 7943 0
    LCK_M_X 74 115119 29416 19
    LCK_M_IS 1040 8363717 30223 81266
    LCK_M_IX 14 101 58 5
    LATCH_SH 4314 18813 82 4846
    LATCH_UP 3 0 0 0
    LATCH_EX 331821 6025170 150 268933
    PAGELATCH_SH 21106 459393 2667 20894
    PAGELATCH_UP 6211 38331 346 2762
    PAGELATCH_EX 170299 1498530 417 104784
    PAGEIOLATCH_SH 64236 2931730 1734 18533
    PAGEIOLATCH_UP 400 3143 114 151
    PAGEIOLATCH_EX 110153 2534574 2067 19452
    LAZYWRITER_SLEEP 151869 11218059 60524 37569
    IO_COMPLETION 32913 5950 23 431
    ASYNC_NETWORK_IO 3654487 15011551 16383 862302
    SLEEP_BPOOL_FLUSH 17986 77108 51 13460
    SLEEP_TASK 416437 3129022 1095 328638
    OLEDB 9810656 12481 87 0
    THREADPOOL 454098 202108520 26525 55
    SOS_SCHEDULER_YIELD 8808298 19818817 437 19812058
    SOS_RESERVEDMEMBLOCKLIST 3372 1141 52 992
    SOS_LOCALALLOCATORLIST 1 0 0 0
    LOGMGR_QUEUE 1985574 5529551 5068 1299495
    REQUEST_FOR_DEADLOCK_SEARCH 1497 5563458 5006 5563458
    CHECKPOINT_QUEUE 101 5521327 60509 89
    DEADLOCK_TASK_SEARCH 8 0 0 0
    SQLTRACE_LOCK 83 137 9 33
    SQLTRACE_BUFFER_FLUSH 1399 5596390 4003 0
    WRITELOG 2807631 6738404 156 1464252
    CMEMTHREAD 33938 7462 40 7106
    CXPACKET 196307 14431278 14029 134534
    WAITFOR 558 2035926 5041 625
    EXECSYNC 944 799 16 177
    MSQL_XP 10 63 49 0
    DEADLOCK_ENUM_MUTEX 12 649 123 10
    VIEW_DEFINITION_MUTEX 4 0 0 0
    RESOURCE_SEMAPHORE_MUTEX 1982 1132 47 1009
    SNI_CRITICAL_SECTION 335 472 34 35
    XE_TIMER_EVENT 187 5610137 30002 5610137
    XE_DISPATCHER_WAIT 201 5610068 30004 0
    BROKER_TO_FLUSH 2728 2799610 1201 4228
    CXROWSET_SYNC 887 3482 36 384
    PREEMPTIVE_OS_AUTHENTICATIONOPS 514982 679288 163 0
    PREEMPTIVE_OS_DECRYPTMESSAGE 169644 4634 75 0
    PREEMPTIVE_OS_DELETESECURITYCONTEXT 188804 733613 152 0
    PREEMPTIVE_OS_AUTHORIZATIONOPS 171505 278739 117 0
    PREEMPTIVE_OS_LOOKUPACCOUNTSID 12 4 2 0
    PREEMPTIVE_OS_REVERTTOSELF 6 4 4 0
    PREEMPTIVE_OS_CRYPTACQUIRECONTEXT 171514 320009 128 0
    PREEMPTIVE_OS_CRYPTIMPORTKEY 171502 274230 165 0
    PREEMPTIVE_OS_NETVALIDATEPASSWORDPOLICY 2216 2517 56 0
    PREEMPTIVE_OS_NETVALIDATEPASSWORDPOLICYFREE 2216 1741 44 0
    PREEMPTIVE_OS_DELETEFILE 5 4 1 0
    PREEMPTIVE_OS_GETPROCADDRESS 10 63 49 0
    PREEMPTIVE_OS_DISCONNECTNAMEDPIPE 49 26 5 0
    PREEMPTIVE_OS_REPORTEVENT 132 131 9 0
    PREEMPTIVE_OS_WAITFORSINGLEOBJECT 211374 878125 216 0
    PREEMPTIVE_OS_QUERYREGISTRY 93 124 39 0

    Los datos en una traza de profiler me es difícil porque cada vez que lo pongo se cuelga la BD.

    lunes, 4 de junio de 2018 12:25
  • Saludos

    Disculpa por no ser especifico.

    Intenta con el query en esta pagina.

    https://www.sqlskills.com/blogs/paul/wait-statistics-or-please-tell-me-where-it-hurts/

    Ahora bien que built de SQL Server tienes 

    Select @@version nos dira este valor.


    Blog: www.sqlservertoolbox.blogspot.com.mx

    lunes, 4 de junio de 2018 13:07
  • No te preocupes, indico de nuevo los datos

    WaitType Wait_S Resource_S Signal_S WaitCount Percentage AvgWait_S AvgRes_S AvgSig_S
    THREADPOOL 848738.65 848738.50 0.16 1158614 41.77 0.7325 0.7325 0.0000
    LCK_M_S 402352.61 401997.21 355.40 19899 19.80 20.2197 20.2019 0.0179
    ASYNC_NETWORK_IO 230403.44 223339.39 7064.05 39693637 11.34 0.0058 0.0056 0.0002
    LCK_M_IS 165563.82 165385.92 177.90 7768 8.15 21.3136 21.2907 0.0229
    SOS_SCHEDULER_YIELD 115588.00 61.58 115526.42 84130617 5.69 0.0014 0.0000 0.0014
    CXPACKET 74614.62 73854.68 759.94 2251422 3.67 0.0331 0.0328 0.0003
    WRITELOG 64768.68 53257.15 11511.53 29527447 3.19 0.0022 0.0018 0.0004
    LATCH_EX 42418.24 40520.92 1897.32 2813080 2.09 0.0151 0.0144 0.0007

    El built de sql server es: Microsoft SQL Server 2008 (SP3) - 10.0.5538.0 (X64)   Jun  14 2015 14:50:02   Copyright (c) 1988-2008 Microsoft Corporation  Standard Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1) 

    martes, 5 de junio de 2018 6:29
  • Saludos,

    Interesante, lo que esto nos dice es que tienes un thread exhaustion, o no tienes suficientes hilos abiertos en tu servidor o alguien no esta cerrando las conexiones que hace a la base de datos (normalmente se cierran en 10 minutos) pero si la aplicación es altamente concurrente o muy chatty, es posible que los termines, vería aumentar tu numero de threads al máximo que tolere tu servidor o ver que se conecta y si deja conexiones abiertas.


    Blog: www.sqlservertoolbox.blogspot.com.mx

    martes, 5 de junio de 2018 15:24
  • Hola,

    Gracias por tu comentarios. Voy a investigar los puntos que comentas.

    miércoles, 6 de junio de 2018 6:15