miércoles, 6 de abril de 2011

DMV para optimización en SQL Server Tip 02

Esta serie de blogs incluye T-SQL y DMV que pueden ser utilizadas para detectar problemas de rendimiento de SQL Server y su posible solución.

Si deseamos verificar si tenemos problemas de memoria física del servidor podemos consultar información sobre el buffer manager.

 

SELECT * FROM SYS.SYSPERFINFO WHERE
OBJECT_NAME='SQLSERVER:BUFFER MANAGER'

 

image

 

De la información anterior podemos verificar los valores de Target Pages y de Stolen Pages. El contador Stolen Pages indica la cantidad de páginas que fueron “robadas” del caché para satisfacer la demanda de memoria física. En este caso la cantidad de Stolen Pages debe permanecer estable durante el transcurso del tiempo, si no lo es, entonces tenemos un problema de cantidad de memoria física disponible.

 

El contador SQL Server:Buffer Manager - Database pages, indica la cantidad de páginas que forman el cache de datos de SQL, usualmente este valor es estable en el tiempo, si se presentan cambios abruptos indica que se está haciendo swap del caché, por lo tanto podría ser una indicación de aumentar la memoria física del servidor.

 

El contador SQL Server:Buffer Manager - Buffer cache hit ratio, indica el porcentaje de páginas que han sido encontradas en memoria, por lo tanto, cuanto más alto este valor mejor.

 

El contador SQL Server:Page life expectancy, representa el promedio de segundos que una máquina permanece en caché, para los sistemas OLTP un Page life expectancy normal de 300 es cinco minutos, un valor inferior a ese puede representar un problema de memoria, índices no actualizados o que se limpió el caché.

 

 

Ing. Eduardo Castro Martínez

http://comunidadwindows.org

http://ecastrom.blogspot.com

DMV para optimización en SQL Server Tip 01

Esta serie de blogs incluye T-SQL y DMV que pueden ser utilizadas para detectar problemas de rendimiento de SQL Server y su posible solución.

Si deseamos verificar si tenemos problemas de CPU, podemos utilizar la DMV sys.dm_os_schedulers . Esta DMV informaciones acerca de los calendarizadores de SQL Server, normalmente en un ambiente sin problemas de desempeño de CPU los valores de esta DMV tienden a ser cero, por lo tanto, valores que sean superiores a cero significa que existen tareas que tienen que esperar para ser ejecutadas, si estos valores son muy altos, entonces estamos ante la presencia de un problema de capacidad de CPU.

 

 

select 
    scheduler_id,
    current_tasks_count,
    runnable_tasks_count ,
    current_workers_count,
    active_workers_count,
    context_switches_count, 
    work_queue_count,
    pending_disk_io_count
from 
    sys.dm_os_schedulers
where 
    scheduler_id < 255

 

image

 

Los valores los podemos interpretar de la siguiente forma:

-  runnable_tasks_count debe tender a ser cero

-  current_workers_count indica la cantidad de workers que están asociados con este calendarizador. -  work_queue_count cantidad de tareas que están esperando a que sean asignadas a un worker

-  pending_disk_io_count candata de IO que está esperando a ser completada.

 

Ing. Eduardo Castro Martínez

http://comunidadwindows.org

http://ecastrom.blogspot.com

Tips para optimización de SQL Server 2008

Esta es una serie de post sobre la optimización de SQL Server.

 

Cuando se tiene que optimizar un SQL Server deben revisar los siguientes componentes de infraestructura y programación:

 

  • Cuellos de botella en tempdb. Cada instancia de SQL Server cuenta con una única base de datos tempdb, lo cual puede implicar problemas de desempeño, puesto que se puede llegar a tener contención en tempdb o algo más serio como falta de espacio. Una aplicación mal construida puede hacer uso excesivo de tempdb ya que puede generar operaciones excesivas y costosas de DDL y DML. Esto puede causar que otras aplicaciones o bases de datos que utilizan tempdb se vean afectadas en su rendimiento.
  • Una consulta que ejecuta muy lento.  El desempeño de consultas existentes puede cambiar debido distintos factores tales como:  estadísticas que no han sido actualizadas o índices que no han sido reconstruidos o peor aún índices faltantes que provocan table scans.
  • Cambios en el sistema de discos o SAN, un cambio en el tipo de disco que se está utilizando puede afectar el desempeño.
  • Bloqueos. Cuando las consultas han sido optimizadas, muchas veces las aplicaciones lentas se deben a que se están generando bloqueos, debido a mal diseño de la aplicación o debido a que ha eligido los niveles de aislamiento no adecuados.

 

En siguientes post cubriremos DMV que pueden ser utilizadas para detectar problemas de rendimiento de SQL Server.

 

Ing. Eduardo Castro Martínez

http://comunidadwindows.org

http://ecastrom.blogspot.com

sábado, 2 de abril de 2011

Enlaces del Evento de SQL Server Denali

Les compartimos una serie de enlaces con el material del Evento de SQL Server Denali. Esperamos contar con su presencia en futuros eventos, pueden enviar sugerencias sobre temas y eventos

 

Grabación del Evento

http://ecastrom.blogspot.com/2011/03/evento-sobre-sql-server-denaliprimera.html
http://ecastrom.blogspot.com/2011/03/evento-sobre-sql-server-denalisegunda.html

 

Fotos del Evento

http://www.facebook.com/album.php?aid=2107182&id=1024994226&l=0ec081a497

 

Notas de la presentación PowerPoint
http://comunidadwindows.org/files/folders/20110324/entry917.aspx

 

Scripts de las demostraciones

http://comunidadwindows.org/files/folders/20110324/entry915.aspx

 

Guía de instalación de SQL Server Denali y AlwaysOn

http://comunidadwindows.org/files/folders/20110324/entry913.aspx

 

Artículo sobre Column Store Indexes

http://comunidadwindows.org/files/folders/20110324/entry911.aspx

Notas sobre nuevas características de SQL Server Denali

En la siguiente dirección http://comunidadwindows.org/files/folders/20110324/entry917.aspx  pueden descargar las notas de la presentación realizada sobre SQL Server Denali.

 

Saludos,

 

Ing. Eduardo Castro Martínez

http://comunidadwindows.org

Scripts sobre nuevas funcionalidades de SQL Server Denali

En la siguiente dirección http://comunidadwindows.org/files/folders/20110324/entry915.aspx pueden descargar los Scripts de demostraciones que he realizado sobre las mejoras en SQL Server Denali, se incluyen demos para paginación, manejo de errores, secuencias, entre otros.

 

Saludos,

 

Ing. Eduardo Castro Martinez

http://comunidadwindows.org

Guía de Instalación de SQL Server Denali

En este documento se incluye el paso a paso para la instalación de SQL Server Denali y también para la creación de un escenario de SQL AlwaysOn con Availability Groups. Para descargar el documento pueden ingresar a http://comunidadwindows.org/files/folders/20110324/entry913.aspx o http://www.slideshare.net/ecastrom/guia-instalacion-sql-server-denali

 

 

Saludos,

 

Ing. Eduardo Castro Martinez

http://comunidadwindows.org