Identificar cuellos de botella
El acceso simultáneo a recursos compartidos causa cuellos de botella. En general, los cuellos de botella están presentes en todos los sistemas de software y son inevitables. Sin embargo, la demanda excesiva de recursos compartidos causa un tiempo de respuesta largo, y debe identificarse y corregirse.
Entre las causas de estos cuellos de botella se incluyen:
Recursos insuficientes que requieren componentes adicionales o actualizados.
Recursos del mismo tipo que no distribuyen de forma equilibrada las cargas de trabajo; por ejemplo, cuando un recurso monopoliza un disco.
Recursos que funcionan incorrectamente.
Recursos mal configurados.
Analizar cuellos de botella
La duración excesiva de varios eventos es un indicador de cuello de botella que puede corregirse.
Por ejemplo:
Otros componentes pueden evitar que la carga alcance este componente, lo que aumenta el tiempo que se tarda en completar la carga.
Las solicitudes de cliente pueden tardar más tiempo debido a una congestión de la red.
A continuación se indican cinco áreas clave que hay que supervisar para realizar un seguimiento del rendimiento del servidor e identificar cuellos de botella.
Posible área del cuello de botella |
Efectos en el servidor |
---|---|
Uso de la memoria |
Si no se asignó o no hay disponible suficiente memoria para Microsoft SQL Server, el rendimiento disminuirá. Los datos se deben leer en el disco, y no directamente en la caché de datos. Los sistemas operativos Microsoft Windows realizan una paginación excesiva intercambiando datos con el disco cuando son necesarias las páginas. |
Uso de la CPU |
Un uso excesivo continuo de la CPU puede indicar que las consultas de Transact-SQL deben optimizarse o que es necesaria una actualización de la CPU. |
Entrada/salida (E/S) de disco |
Las consultas de Transact-SQL se pueden optimizar para reducir la E/S innecesaria; por ejemplo, mediante el uso de índices. |
Conexiones de usuario |
Puede haber demasiados usuarios obteniendo acceso al servidor de forma simultánea, lo que disminuye el rendimiento. |
Bloqueos de cierre |
Las aplicaciones diseñadas incorrectamente pueden causar simultaneidad de obstáculos y bloqueos, lo que genera tiempos de respuesta más largos y un menor rendimiento de las transacciones. |
Para obtener más información acerca de la optimización de las consultas SQL, vea Rendimiento de las consultas y Optimizar el diseño físico de las bases de datos.