Unidad 06
Unidad 06
Unidad 06
SQL Server acta como un servicio para proporcionar datos a las aplicaciones.
El ajuste del rendimiento tiene como objetivo la optimizacin de dicho servicio para la
aplicacin. La optimizacin debe concentrarse en reducir al mnimo el tiempo de
respuesta de cada consulta y aumentar lo mximo posible el rendimiento de todo el
servidor de bases de datos mediante la reduccin del trfico de red, la entrada y salida
(E/S) en disco, y el tiempo de CPU. Para conseguir este objetivo, debe comprender los
requisitos de la aplicacin, la estructura lgica y fsica de los datos, y el equilibrio entre
los usos conflictivos de la base de datos, por ejemplo, entre el proceso de transacciones
en lnea (OLTP, Online Transaction Processing) y la toma de decisiones.
Para descubrir los lmites reales, puede simular una carga de trabajo
en SQL Server mientras supervisa el sistema con las herramientas
descritas en este mdulo.
Analizador de SQL.
a) Herramientas de supervisin
rendimiento de SQL Server
optimizacin
del
Herramienta
Descripcin
Analizador de
SQL Server
Supervisar el
uso de
recursos
(Monitor de
sistema)
transacciones
activas,
nmero
de
bloqueos bloqueados o actividad de la
CPU). Puede establecer umbrales en
contadores especficos para generar
alertas que notifiquen a los operadores.
El Monitor de sistema funciona en los
sistemas operativos Microsoft Windows
Server y Windows. Puede supervisar
(remota o localmente) una instancia de
SQL Server en Windows NT 4.0 o
posterior.
La diferencia clave entre el Analizador de
SQL Server y el Monitor de sistema es
que el Analizador de SQL Server
supervisa los eventos del motor de base
de datos, mientras que el Monitor de
sistema supervisa el uso de los recursos
asociado con los procesos del servidor.
El Monitor de actividad de SQL Server
Management Studio muestra informacin
grfica acerca de:
Monitor de
actividad (SQL
Server
Management
Studio)
Introduccin a
Traza de SQL
sp_trace_create (Transact-SQL)
sp_trace_generateevent (Transact-SQL)
sp_trace_setevent (Transact-SQL)
sp_trace_setfilter (Transact-SQL)
sp_trace_setstatus (Transact-SQL)
Supervisar los
registros de
errores
sp_lock (Transact-SQL)
Proporciona
informacin
de
instantnea acerca de bloqueos,
incluidos los identificadores de objeto y
de ndice, el tipo de bloqueo y el tipo o
recurso al que se aplica el bloqueo.
sp_spaceused (Transact-SQL)
Muestra una estimacin de la cantidad
actual de espacio en disco que utiliza
una tabla (o toda la base de datos).
sp_monitor (Transact-SQL)
Muestra estadsticas que incluyen el
uso de la CPU, el uso de E/S y el
tiempo de inactividad desde la ltima
vez que se ejecut sp_monitor.
DBCC
(Transact-SQL)
Funciones
(Transact-SQL)
11
Marcas de traza
(Transact-SQL)
Las
marcas
de
traza
muestran
informacin acerca de una actividad
especfica en el servidor para diagnosticar
problemas o causas de bajo rendimiento
(por ejemplo, cadenas de interbloqueos).
Optimizar el
diseo fsico de
las bases de
datos
Instrucciones DBCC
Puede utilizar instrucciones DBCC para comprobar el rendimiento y
la actividad, as como la coherencia lgica y fsica de una base de
datos. La tabla siguiente contiene algunas instrucciones DBCC que
puede utilizar para supervisar el rendimiento.
Instruccin DBCC
SQLPERF
12
OPENTRAN
SHOW_STATISTICS
CHECKDB
CHECKFILEGROUP
CHECKTABLE
Variables globales
Puede utilizar las variables globales siguientes para obtener
estadsticas especficas o informacin que pueda consultar.
Variable global
Objetivo
@@connections
@@error
@@spid
13
@@procid
de
del
2003
Herramienta
Descripcin
Administrador de
tareas
Agente de
supervisin de red
Registro
Windows
Descripcin
de
aplicacin
Contiene
sucesos
que
Registro de sistema de Windows registran los componentes de
sistema de Windows. Por
Ing. Metssy A.Ygnacio Garca
14
de
seguridad
Uso de la memoria
15
Analizador
de SQL
Server
Monitor de
sistema
Anlisis de
tendencias
Reproduccin de
los eventos
capturados
Supervisin ad
hoc
Generacin de
alertas
Monitor de
actividad
TransactSQL
Registros
de errores
16
Interfaz grfica
Uso en
aplicaciones
personalizadas
S1
S
S
17
Memoria:
Bytes
disponibles
Memoria:
Pginas/seg.
Proceso:
Fallos de
pgina/seg./In
stancia de
SQL Server
Descripcin
Pautas
de dichos procesos
proceso provoca el
exceso de paginacin.
19
Subprocesos
Cada instancia de SQL Server constituye un proceso de sistema
operativo independiente. Las instancias de SQL Server emplean
subprocesos de Windows y, en ocasiones, intraprocesos, para
administrar estas tareas simultneas de forma eficaz.
20
Procesador: %
de tiempo de
procesador
Sistema:
Cambios de
contexto/Seg.
Sistema:
Longitud de
cola de
procesador
Descripcin
Pautas
Supervisa el porcentaje
de tiempo que el
procesador emplea en
procesar subprocesos
no inactivos
El valor de este
contador debe ser
inferior al 90 por ciento.
Si el valor es superior,
reduzca la carga de
trabajo, aumente la
eficacia de la carga de
trabajo o la capacidad
del procesador.
Supervisa el nmero de
veces por segundo que
el procesador realiza
cambios entre
subprocesos
En equipos con
multiprocesador, si el
valor de este contador
llega a 8000 y el valor
del contador
Procesador: % de
tiempo de procesador
est por encima del
90%, considere la
posibilidad de habilitar
la programacin en
modo de intraproceso
de SQL Server.
Supervisa el nmero de
subprocesos a la
espera de utilizar el
tiempo de procesador
multiprocesador.
Procesador:
%Tiempo
privilegiado
Supervisa el porcentaje
de tiempo que el
procesador emplea del
tiempo privilegiado en
la ejecucin de los
comandos del ncleo
del sistema operativo
Windows 2000, como el
procesamiento de
solicitudes de E/S de
SQL Server
Si se emplea un
porcentaje significativo
de tiempo de
procesador en ejecutar
comandos del ncleo
del sistema y el valor
de los contadores de
disco duro es alto,
considere la posibilidad
de mejorar el
rendimiento del
subsistema de E/S del
disco duro.
Procesador:
%Tiempo del
usuario
Supervisa el porcentaje
de tiempo que el
procesador emplea en
ejecutar procesos del
usuario, como el propio
SQL Server
22
Descripcin
Pautas
Disco fsico:
%Tiempo de disco
Supervisa el
porcentaje de
tiempo que el disco
duro emplea en
atender las
solicitudes de
lectura y escritura
El valor de este
contador debe ser
inferior al 90 por
ciento, de forma
regular.
Disco fsico:
Promedio de
longitud de cola de
disco
Supervisa el
promedio de
solicitudes de
lectura y escritura
que se ponen en
cola
El valor de este
contador no debe
ser superior al doble
del nmero de
discos del cilindro.
Supervisa la tasa de
operaciones de
lectura
El valor de este
contador debe ser
inferior de forma
regular a la
capacidad del
subsistema de disco
duro.
Supervisa la tasa de
operaciones de
escritura
El valor de este
contador debe ser
inferior de forma
regular a la
capacidad del
subsistema de disco
duro.
Disco fsico:
Lecturas de
disco/seg.
Disco fsico:
Escritura de
disco/seg.
23
d) Supervisin de bloqueos
SQL Server bloquea los recursos mediante distintos modos de
bloqueo que determinan el tipo de acceso que las transacciones
actuales tendrn a los recursos. El bloqueo de filas aumenta la
simultaneidad, pero tambin la sobrecarga, ya que ser necesario
mantener ms bloqueos en caso de que se bloquee un gran nmero
de filas. El bloqueo de tablas es caro en lo que respecta a la
simultaneidad pero produce una sobrecarga menor, ya que reduce el
nmero de bloqueos que mantener.
Interbloqueos
Los interbloqueos pueden producirse cuando dos o ms procesos
esperan simultneamente a que finalicen los bloqueos que ha
establecido cada uno. Ninguno de los procesos liberar el bloqueo
que mantiene hasta que pueda obtener el recurso que permanece
bloqueado por el otro proceso. Cuando se haya identificado un
interbloqueo, para finalizarlo, SQL Server elegir automticamente el
subproceso (la vctima del interbloqueo) que puede romper el
interbloqueo sin que se produzcan tiempos de espera. Puede utilizar
la opcin prioridad para definir el intervalo de tiempo durante el que
SQL Server esperar entre la deteccin de un bloqueo y la
declaracin de que se trata de un interbloqueo.
Bloqueos de cierre
La mayor parte de los problemas de bloqueo se producen debido a
que un nico proceso mantiene bloqueos durante un perodo
prolongado, lo que causa una cadena de procesos bloqueados a la
espera de que otros procesos liberen sus bloqueos. SQL Server no
Ing. Metssy A.Ygnacio Garca
24
25
26
[1]
Delaney, K. Inside Microsoft SQL Server 2005: the storage engine. Microsoft
Press, 2007
[2] STANEK, William. Ms. SQL Server 2005 Manual del Administrador. 1ra Edicin,
McGraw Hill. 2006.
[3] Silberschatz, A., Korth, H.F., Sudarshan, S., Fundamentos de Bases de Datos, 5
edicin, Madrid, 2006.
[4] Matsukawa Maeda, Sergio. Conozca y utilice SQL Server 2005, Lima, 2005
[5]
Bibliografa electrnica:
Administracin de Archivos de bases de datos
27
http://www.mygnet.net/manuales/sqlserver//administracion_de_archivos_de_base_d
e_datos.1114
Tutorial de SQL Server 2005
http://technet.microsoft.com/en-us/library/ms169620(SQL.90).aspx
Tutorial de Administracin de Base de Datos
http://sistemas.itlp.edu.mx/tutoriales/admonbasedat/index.htm
28
UNIDAD ACADMICA N 6
NOMBRE:__________________________________________________________________
APELLIDOS:________________________________________FECHA; ____/_____/______
CIUDAD:_______________________________SEMESTRE:_________________________
29