Lo primero para empezar el trabajo con SQL Server es preparar el ambiente. La instalación…
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.
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.
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.