He estado discutiendo con un DBA y un par de expertos en hardware sobre problemas de rendimiento en nuestro servidor SQL. Normalmente todo está bien, sin embargo, en las últimas semanas hemos tenido grandes picos de retraso en el servidor SQL. Está claro que SQL Server está esperando en la E / S del disco. Pero me siguen diciendo que es porque SQL Server está pidiendo E / S anormalmente altas. Que no es el caso. Puedo ver por lo que se está ejecutando que no hay nada fuera de lo normal, y todo lo que el DBA tiene en cuenta es qué está causando el bloqueo, etc., lo que es inútil. Por ejemplo, lo más importante que vemos es una operación de respaldo en la base de datos ASPState, que estamos usando para administrar el estado de sesión ASP en los servidores web. Estas operaciones normalmente nunca se ven en los resultados activos de Sp_who2 porque ocurren muy rápido. La base de datos está en modo de recuperación simple y el registro es miminal. Sin embargo, durante estos picos de retraso podemos ver muchas operaciones de selección y actualización en la base de datos bloqueada o en espera. Estoy seguro de que lo que está sucediendo es que alguien o algún trabajo está ejecutando algo que está causando el uso del disco pesado en las matrices de incursiones utilizadas para ese registro de bases de datos y archivos de datos. El problema lo está demostrando, ya que nadie quiere admitir que están haciendo algo que está matando nuestro sitio web.
Mi pregunta es qué contadores de rendimiento o cualquier cosa que pueda registrar que ayudará a mostrar que el servidor SQL está esperando E / S, pero no porque está pidiendo más de lo normal, sino porque el disco está ocupado para responder a las solicitudes del servidor SQL tan rápido como lo haría normalmente?