Cómo obtener mediante programación el valor correspondiente del disco físico del contador de rendimiento
Cuando las páginas de datos se mueven con frecuencia dentro y fuera del grupo de búfer, el subsistema de E/S se convierte en uno de los factores clave en los problemas de rendimiento de SQL Server. Los registros de transacciones y tempdb también generan una presión de E/S significativa. Por lo tanto, debe asegurarse de que su subsistema de E/S funcione según lo esperado. De lo contrario, será víctima de mayores tiempos de respuesta y frecuentes tiempos de espera. En este artículo, describiremos cómo utilizar herramientas integradas para identificar cuellos de botella relacionados con E/S y proporcionaremos algunos métodos de configuración del disco:
Contador de rendimiento (monitor de rendimiento):
Puede utilizar contadores de rendimiento para comprobar la carga en el subsistema de E/S. Se pueden utilizar los siguientes contadores para comprobar el rendimiento del disco:
Objeto PhysicalDisk: Longitud promedio de la cola de disco: calcula la cola de solicitudes de lectura y escritura promedio del disco físico. Un valor demasiado alto indica que hay operaciones de disco pendientes. Cuando este valor excede 2 durante mucho tiempo en el pico de SQL Server, demuestra que se necesita atención. Si tiene varios discos duros, deberá dividir estos valores entre 2. Por ejemplo, si hay 4 discos duros y la cola es 10, entonces el valor promedio es 10/4 = 2,5. Aunque también demuestra que se necesita atención, el valor de 10 no se puede utilizar.
Promedio de segundos de disco/lectura y promedio de segundos de disco/escritura: muestra el tiempo promedio para leer o escribir en el disco. Dentro de 10 ms es un buen rendimiento y por debajo de 20 sigue siendo aceptable. Los valores superiores a este indican un problema.
Disco físico: Tiempo de disco: la proporción de la duración cuando el disco está ocupado con solicitudes de lectura o escritura. Según la regla general, este valor debería ser inferior a 50.
Los contadores de lecturas de disco/segundo y escrituras de disco/segundo muestran la velocidad de las operaciones de lectura y escritura en el disco. Ambos valores deben ser inferiores al 85 de la capacidad del disco. Cuando se excede este valor, el tiempo de acceso al disco aumentará exponencialmente.
La capacidad para cargas crecientes se puede calcular de la siguiente forma. Una forma es utilizar SQLIO. Debería encontrar que el rendimiento es relativamente estable, pero aumenta lentamente.
Se puede utilizar la siguiente fórmula para calcular la configuración RAID:
Raid 0: E/S por disco = (lecturas y escrituras) / número de discos
Raid 1: E/S por disco = [lecturas (escrituras*2)] / 2
Raid 5: E/S por disco = [lecturas (escrituras*4)] / número de discos
Raid 10: E/S por disco = [lecturas (escrituras*2)] / número de discos
Por ejemplo: para RAID 1, si obtiene el siguiente contador:
Lecturas de disco/seg = 90
Escrituras de disco/seg =75
Según la fórmula: [lecturas (escrituras*2)] / 2 o [90 (75*2 )] / 2 = 120I/ Os cada disco.
Recordatorio: Si hay texto o valores lógicos en los parámetros, se ignoran.