Skip to content

Pruebas de estres en SQL Server con ostress

Anteriormente ya hemos mostrado las opiniones respecto al Testing y a las pruebas de estrés. Ahora veremos cómo podemos llevar a sus límites a SQL Server con ostress, una herramienta nativa de Microsoft y de mucho poder.

Antes de empezar

Recuerda que hay consideraciones a tomar cuando hablamos de estrés en una prueba. Todo esto ya lo explicamos en la publicación Pruebas de estress en SQL Server con SQLCMD así que te recomiendo ir primero allá.

¿Qué necesitas ahora?

Ya lo había comentado al principio, ostress es una herramienta desarrollada por Microsoft así que lo primero que necesitamos es descargarla y tenerla lista.

Ostress está dentro de un paquete que se conoce como RML Utilities y puedes descargarlo desde aquí.

No voy a describir todo el proceso de instalación porque verás que no tiene ninguna dificultad en absoluto.

Todo listo para empezar

Dirígete a la ruta donde se instaló el paquete desde una línea de comandos. Ejecuta la instrucción: ostress.

estres-en-SQLServer-con-ostress

Verás algunos detalles de la herramienta y del sistema donde la instalaste. Pero lo más importante aquí es que veas los parámetros de uso para que puedas aprovecharlos.

SQL Server con ostress

Al igual que viste en el artículo Cómo usar SQLCMD con SQL Server, acá también debes escoger aquellos parámetros que te permitan una conexión y las pruebas de acuerdo con tus definiciones.

Particularmente quiero señalarte dos:

  • -n para asignar el número de conexiones simuladas
  • -r para definir el número de iteraciones por cada conexión

Ejemplo de estrés en SQL Server con ostress

Abre una conexión, define una consulta y utiliza los parámetros señalados en el punto anterior.

Puedes utilizar un archivo de entrada donde esté el código que quieres probar o puedes colocar el script en la misma línea de comandos. Yo prefiero tener el código en un archivo.

Puedes probar algo parecido a esto. Crea un archivo que se llame «QueryMonitor.sql» y guárdalo con el código que quieres probar. Yo utilizaré lo siguiente.

select * from [Person].[Person] WHERE 1=1
select * from [Production].[Product] WHERE 2 IS NOT NULL
select * from [Sales].[SalesOrderHeader] soh 
      INNER JOIN [Sales].[SalesOrderDetail] sod
         ON soh.SalesOrderID = sod.SalesOrderID
ALTER INDEX [PK_SalesOrderDetail_SalesOrderID_SalesOrderDetailID] 
      ON [Sales].[SalesOrderDetail] REBUILD
ALTER INDEX [PK_Person_BusinessEntityID] 
      ON [Person].[Person] REBUILD

Luego en la línea de comandos, para simular 5 conexiones y 10 iteraciones en cada una se lo realiza así:

ostress.exe -S. -dAdventureWorks2016 -i»H:\DEMOS\Monitor\QueryMonitor.sql» -n5 -r10

Y la magia aquí está lista.

Otros pasos

Entérate cómo puedes realizar el monitoreo de las actividades del servidor en general. Puedes ver nuestra publicación de Los Secretos del Monitoreo en SQL Server.

www.datoptim.com
I love working on SQL Server Performance Tuning and finding the origin of the problems. Music and SQL Server passionate.

Carrito
Volver arriba