Saltear al contenido principal

¿Cómo hacer testing en SQL Server?

Cuando hacemos desarrollos en TSQL es importante poder garantizar el correcto funcionamiento de la lógica con la cual diseñamos nuestras consultas. Sin embargo, si no podemos garantizar un funcionamiento eficiente, estamos sujetos a que nuestros programas tengan un bajo performance cuyo origen puede llegar a ser menos detectable cuando ya se está en un ambiente productivo. Por esto es que es vital realizar un buen testing en SQL Server.

testing-en-sql-server

Limitaciones usuales

No es un secreto que muchos de nuestros ambientes de Desarrollo no se acerquen lo suficiente a los ambientes de Producción. Es evidente que muchos tenemos limitaciones de recursos y es comprensible cuando se debe velar por la optimización de hardware sobre todo para ambientes productivos.

No siempre tenemos los mismos recursos de CPU, RAM o storage. Idealmente deberíamos estar lo más cerca posible de Producción, sin embargo, no pienses que esta diferencia es la “culpable” de algo que no pudo ser detectado o mejorado en Desarrollo.

Estos aspectos los discutimos cuando vimos que generamos Resultados Diferentes entre ambientes.

¿Cómo afrontamos entonces el Testing en SQL Server?

Primero que nada conoce tus límites. Ya has visto el enlace anterior y ahora debemos aislar aquellos programas que hemos probado una y otra vez pero que en Producción se comportan diferente a cómo los vimos en testing.

Vamos ahora con algunos puntos relevantes.

a) Cantidad de Lectura

Debes tener conciencia respecto a la cantidad de páginas que tus consultas leen. Esto puede generar una espera llamada PAGEIOLATCH y debemos saber cómo intepretarla. Además es importante Medir la lectura en SQL Server.

b) Uso de índices

Seguro que sabes que los índices ayudan con el rendimiento de tus consultas y es posible que te hayas guiado con las recomendaciones del motor. Acá debes saber cómo interpretar los Missing Index.

Adicionalmente, ¿estás seguro que aquellos índices que creaste se están utilizando?

c) Procesos o datos en caché

En la Webinar Cómo funciona el cache en SQL Server tenemos mayor detalle de los procesos internos de la memoria. Además es muy importante que sepas Qué es el Plan Cache del servidor y cómo puede afectarte.

d) Concurrencia

Si no tenemos pruebas mínimas de concurrencia, jamás podremos simular un ambiente productivo. No quiero que acá eches la culpa a los llamados “bloqueos”, lo que sí quiero es que sepas qué son y cómo funcionan.

Consideraciones finales del Testing en SQL Server

Testing no es una tarea irrelevante, merece todo un enfoque en el desarrollo de software. Realizar pruebas en SQL Server requiere de un énfasis especial y de revisiones que pueden ir desde diferentes perspectivas tanto de la administración de servidores como del desarrollo como tal.

Mientras más conocemos sobre el comportamiento de nuestro servidor, mejor será nuestro entendimiento de cómo debemos reaccionar ante diferentes eventos. Te ayudamos en esto en las diferentes webinars que realizamos, si quieres recibir las invitaciones a ellas en nuestro Boletín Semanal de Noticias, regístrate en este enlace.

Sin un adecuado nivel de Testing en SQL Server, difícilmente podremos garantizar un correcto funcionamiento en las entregas finales de nuestros productos.

Pablo Javier Fernández

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

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Close search

Carrito

Volver arriba