Hola, chicos,
¡Buen día!
En esta publicación, presentaré y demostraré el uso de la herramienta de código abierto. SQLQueryEstrés, de Adam Machanic (creador de sp_WhoIsActive), que se utiliza para realizar pruebas de estrés ejecutando una consulta determinada, lo que le permite realizar una serie de pruebas en su instancia de SQL. Como Adam ya no mantiene ni actualiza este proyecto, Erik Ejlskov Jensen creó un GitHub para crear nuevas funciones y mejoras para la herramienta.
La herramienta permite definir cuántos hilos se ejecutarán simultáneamente, cuántas ejecuciones y cuál es el intervalo de tiempo entre cada ejecución, permitiéndote realizar varios tipos de pruebas, de las cuales destaco:
- Verifique el comportamiento de la instancia con un número determinado de sesiones en ejecución
- Ejecutar varias consultas al mismo tiempo para estresar la CPU, el disco y la memoria del servidor y comprobar su comportamiento.
- Simulación de un entorno crítico con múltiples transacciones por segundo durante pruebas del sistema y consultas SQL.
- Identificar cuantas veces se ejecuta un SP por día, realizar una optimización y simular cuál sería el ahorro de tiempo en el día
- Ejecutar una consulta o SP varias veces, con parámetros aleatorios y analizar su comportamiento
De todos modos, la lista de posibilidades es muy grande y el software te brinda varias herramientas para mejorar tu análisis, como la posibilidad de usar o no el Connection Pool, borrar cachés, borrar el buffer, etc.
Usar la herramienta es muy sencillo, por lo que no haré muchas demostraciones. El propósito de este post es compartir esta herramienta para quienes aún no la conocían, para que puedan mejorar su análisis del rendimiento de las instancias de SQL Server que demuestres o realices pruebas de rendimiento sobre una consulta.
Después de descargar la herramienta ejecutable. en este enlace, verá la pantalla de presentación de SQLQueryStress. Haga clic en el botón "Base de datos" para configurar la conexión de la base de datos.
No recomiendo usar este software en entornos de producción., a menos que sea durante un tiempo de mantenimiento programado y desee realizar una prueba de esfuerzo de la instancia.
En esta pantalla puede ingresar el nombre del servidor\instancia de conexión, así como el tipo de autenticación, los datos de usuario y contraseña.
De regreso a la pantalla de inicio, definamos la consulta que se ejecutará, los parámetros de ejecución y comencemos el procesamiento.

Parámetros de ejecución:
– Número de iteraciones: Este es el número de veces que se ejecutará la consulta.
– Número de hilos: Número de sesiones que se ejecutarán en paralelo (al mismo tiempo)
– Retraso entre consultas (ms): Número de milisegundos entre el final de una consulta y el comienzo de la siguiente.
Cabe mencionar que la cantidad de veces que se ejecutará la consulta se basa en el Número de Iteraciones x Número de Hilos, es decir, si colocas 10 iteraciones con 5 hilos, tu consulta se ejecutará 50 veces.
Resultado de WhoIsActive, que demuestra las conexiones que se ejecutan:

(Nota: tuve que poner un WAITFOR DELAY en los SP para que aparecieran en WhoIsActive, ya que el SP de prueba es muy simple y corre muy rápido)
Cómo utilizar la sustitución de parámetros
Haga clic aquí para obtener más información sobre la sustitución de parámetros¡Eso es todo, amigos!
Espero que hayas disfrutado de esta publicación y de esta excelente herramienta para probar consultas y el límite de procesamiento de tu instancia de SQL Server.
Un abrazo y hasta la próxima.






Comentários (0)
Carregando comentários…