Sie sind auf Seite 1von 31

Evaluacin de Desempeo de una Base de

Datos
1

Definicin de evaluacin: Proceso que tiene como finalidad determinar el grado


de eficacia y eficiencia, con que han sido empleados los recursos destinados a
alcanzar los objetivos previstos, posibilitando la determinacin de las desviaciones
y la adopcin de medidas correctivas que garanticen el cumplimiento adecuado de
las metas presupuestadas. Se aplica ex ante (antes de), concomitante (durante), y
ex post (despus de) de las actividades desarrolladas. En la planeacin es el
conjunto de actividades, que permiten valorar cuantitativa y cualitativamente los
resultados de la ejecucin del Plan Nacional de Desarrollo y los Programas de
Mediano Plazo en un lapso determinado, as como el funcionamiento del propio
Sistema Nacional de Planeacin. El periodo normal para llevar a cabo una
evaluacin es de un ao despus de la aplicacin de cada Programa Operativo
Anual. Fase del proceso administrativo que hace posible medir en forma
permanente el avance y los resultados de los programas, para prevenir
desviaciones y aplicar correctivos cuando sea necesario, con el objeto de
retroalimentar la formulacin e instrumentacin.

2 Definicin de Rendimiento: En informtica, medida o cuantificacin de la


velocidad/resultado con que se realiza una tarea o proceso. En una
computadora, su rendimiento no depende slo del microprocesador como suele
pensarse, sino de la suma de sus componentes como la memoria, el bus, los
diversos dispositivos, etc. y del software.
Supervisin del rendimiento de un Sistema Administrador de Base de Datos.
Un Sistema Administrador de Base de Datos (SABD), 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. Los
problemas de rendimiento deben considerarse durante el ciclo de desarrollo, no
slo en la fase final de implementacin del sistema. Muchas de las soluciones que
mejoran, significativamente el rendimiento se obtienen gracias a un diseo
pormenorizado desde el comienzo del proyecto. Por lo general, un SABD
administra automticamente los recursos de hardware disponibles. Es evidente
que otros problemas de rendimiento del sistema, como la memoria y el hardware,
afectan al rendimiento, aunque las mejoras que pueden obtenerse en estas reas
a menudo son incrementales.

Supervisin y optimizacin del rendimiento: La supervisin de un sistema


puede ser una tarea compleja debido al gran nmero de variables implicadas.
Puede utilizar diferentes estrategias para plantear la optimizacin del rendimiento
del sistema en reas especficas. Dichas estrategias deben integrarse de modo
que sea posible localizar cualquier causa y efecto relacionados. El desarrollo de
este plan se inicia con las fases de requisitos del usuario y diseo de aplicaciones.
A partir de este punto, el plan debe abarcar la identificacin de las mejoras de
rendimiento en las reas ms tradicionales.
Estrategias para la optimizacin del rendimiento: El objetivo de la optimizacin
es mejorar el rendimiento. Hay muchos factores que pueden afectar al
rendimiento, por lo que necesitar varias estrategias para optimizar una instancia
de la base de datos. Dichas estrategias deben mejorar el rendimiento en ambos
extremos de la aplicacin, el servidor y el usuario o cliente empresarial. Hay dos
indicadores del rendimiento: Tiempo de respuesta. Mide el intervalo de tiempo
necesario para devolver la primera fila del conjunto de resultados. Normalmente,
se llama tiempo de respuesta al tiempo que percibe el usuario hasta que recibe
una confirmacin visual de que una consulta se ha procesado.
El rendimiento Mide el nmero total de consultas que el servidor puede procesar
en un intervalo de tiempo dado. Deber supervisar ambas reas, ya que los
problemas de conflictos aumentan a medida que el nmero de usuarios se
incrementa; esto podra causar un aumento de los tiempos de respuesta del
servidor y una reduccin del rendimiento global. Si supervisa exclusivamente el
rendimiento del servidor no tendr informacin acerca del rendimiento de la
aplicacin para los usuarios. Y al contrario, si supervisa exclusivamente la
aplicacin averiguar cules son los problemas, pero no podr resolverlos.
3 Optimizacin del tiempo de respuesta: Para optimizar las necesidades
comerciales y los tiempos de respuesta es necesario conocer la aplicacin, el
entorno, los usuarios y los datos. Para usar este enfoque debe disponer de
informacin acerca de las consultas que los usuarios emiten y realizar, a
continuacin, los ajustes necesarios en las consultas y la aplicacin. Por lo
general, el objetivo consiste en mejorar el rendimiento de consultas
especficas o de aplicaciones seleccionadas.
4 Optimizacin del rendimiento.
La optimizacin del rendimiento y el procesamiento del servidor requiere conocimientos
acerca de cmo SQL Server tiene acceso a los datos, controla las actividades
simultneas e interacta con el sistema operativo. Esto podr ayudarle a crear un
diseo lgico y fsico ms eficaz para configurar el sistema, disear transacciones y
escribir consultas con el fin de optimizar el rendimiento.

Seleccin de un mtodo para optimizar el rendimiento.


Mtodo para mejorar el tiempo de respuesta de la aplicacin y el
rendimiento del servidor mediante: Es posible plantear la optimizacin de la
empresa y el servidor en varios elementos, ya que factores como el diseo de
la aplicacin, los recursos del sistema y el sistema operativo del Servidor de
Archivos, pueden afectar al rendimiento. Para mejorar el rendimiento puede:
Optimizar la aplicacin de cliente. Para ello debe:

Escribir consultas que limiten las bsquedas.


Crear ndices tiles.
Reducir el nmero de conflictos de bloqueo y evitar los interbloqueos.
Usar procedimientos almacenados que reduzcan los conflictos y aumenten
la simultaneidad.
Descargar y procesar datos desde el servidor siempre que sea apropiado.

Por otra parte:


Optimizar SQL Server. Para optimizar SQL Server puede evaluar el diseo de
almacenamiento o, en algunos casos, ajustar las opciones de configuracin.
Optimizar la configuracin del hardware. El cambio de la configuracin de
hardware tambin puede mejorar el rendimiento del sistema. Por ejemplo,
puede agregar ms memoria, procesadores o equipos; conseguir discos duros
ms rpidos; o incrementar el rendimiento de red.
Al planear el ajuste y la optimizacin de la base de datos, debe considerar
los elementos citados anteriormente como cuellos de botella e identificar
su impacto en el rendimiento del servidor y en los tiempos de respuesta
de los usuarios.
Desarrollo de una metodologa de optimizacin del rendimiento.
La metodologa de optimizacin del rendimiento debe considerarse durante el
ciclo de desarrollo de la aplicacin, no slo en la fase de implementacin del
sistema. Es necesario administrarla y documentarla cuidadosamente para evitar
investigaciones innecesarias en direcciones que no lleven a ninguna conclusin.
1. Diseo para mejorar el rendimiento:
Algunos elementos que afectan al rendimiento son difciles de optimizar una vez
que la base de datos est en funcionamiento. La preocupacin acerca del
rendimiento de SQL Server debe ser una parte integral del proceso de diseo
de la aplicacin. Debe:
Analizar las expectativas y requisitos del usuario. Considerar si la aplicacin
tiene destinatarios de datos secundarios, por ejemplo, clientes que telefonean a
operadores de centralitas que emplean aplicaciones de entrada de pedidos u
ofertas de productos.

Conocer los datos y cmo se seleccionan, cules son los posibles valores, qu
informacin representan y cmo se utilizan.

Disear una base de datos que utilice apropiadamente la normalizacin y la


desnormalizacin, y aplicar diseos de esquema relacionales, en estrella y de
copo de nieve, siempre que sea necesario.

Desarrollar y probar procedimientos almacenados.

Disear la estrategia de indizacin y optimizar las consultas.

Programar un mantenimiento y una monitorizacin continuada.


2. Plan para mejorar el rendimiento.

Como parte del plan de optimizacin del rendimiento, desarrolle una referencia
basada en el entorno de prueba del diseo. El diseo y la prueba son procesos
continuos para garantizar que los cambios realizados realmente mejorarn el
rendimiento. Debe:
Definir los parmetros de funcionamiento del servidor para los recursos, la
carga y el rendimiento.
Establecer objetivos para el rendimiento y los tiempos de respuesta.
Documentar todas las acciones y medir sus efectos.
Probar un entorno de produccin simulado.
Analizar las transacciones de cada base de datos.
Identificar los problemas de rendimiento.
Establecer una referencia de rendimiento.
Establecimiento de una referencia de rendimiento

Cinco factores clave influyen en el rendimiento de una base de datos:


o Carga de trabajo El volumen de actividad del servidor.
o Rendimiento: Nmero total de consultas en un intervalo de
tiempo dado.
o Recursos de Sistema: Capacidad fsica del hardware del equipo.
o Optimizacin: Diseo de la aplicacin y la base de datos.
o Conflictos: La competencia por los registros de datos.
El plan de rendimiento y las medidas de referencia deben considerar estas reas.
Cuando haya definido los parmetros de funcionamiento, as como los recursos,
las cargas y los objetivos necesarios para el plan de rendimiento, deber
supervisar el sistema. Identifique y establezca la referencia de rendimiento a lo
largo de un perodo. Realice mediciones para determinar:
Las horas de actividad mxima y mnima de la base de datos.

Los tiempos de respuesta de los comandos de proceso por lotes y


consulta de produccin.
Los tiempos de ejecucin de los procesos de restauracin y copia de
seguridad de la base de datos.
Una vez establecida la referencia, podr comparar con ella el rendimiento real del
servidor en cada momento y as determinar las reas que requieren
investigacin. Las cifras que estn por encima o por debajo de la referencia
indican las reas en las que podra realizarse una investigacin ms detallada.
Deteccin de cuellos de botella en el rendimiento.
El acceso en forma paralela o bien al mismo tiempo a los recursos del sistema,
pueden provocar los cuellos de botella. Estos que son inevitables, existen en
todos los software. Pero en esta ocasin, se hablar de los cuellos de botella que
se producen en las Bases de datos. stos se pueden identificar en forma
inmediata, cuando se produce una mayor demanda del recurso y este responde
de manera ineficiente, entregando como respuesta un tiempo muy largo de
ejecucin. Los cuellos de botella, pueden corregirse.
CAUSAS DE CUELLOS DE BOTELLA.
Recursos insuficientes que requieren componentes adicionales o actualizados.

Recursos del mismo tipo que no distribuyen de forma equilibrada las cargas de
trabajo; por ejemplo, cuando un recurso monopoliza un disco.
Recursos que funcionan incorrectamente.
Recursos mal configurados.
Recursos mal configurados.
OPTIMIZACION: ANALIZAR EL QUERY Y SU PLAN DE CONSULTA.
ACTIVIDADES:
Optimizar el query
Crear un ndice
Cargar parcialmente la tabla o tablas a memoria
Cargar el ndice a memoria
Cambiar el esquema de bloqueos
Particionar la tabla
Considerar un rediseo de la base de datos

PRUEBAS DE RENDIMIENTO

Una prueba de carga se realiza generalmente para observar el comportamiento de


una aplicacin bajo una cantidad de peticiones esperada. Esta carga puede ser el

nmero esperado de usuarios concurrentes utilizando la aplicacin y que realizan


un nmero especfico de transacciones durante el tiempo que dura la carga. Esta
prueba puede mostrar los tiempos de respuesta de todas las transacciones
importantes de la aplicacin. Si la base de datos, el servidor de aplicaciones, etc.
tambin se monitorizan, entonces esta prueba puede mostrar el cuello de botella
en la aplicacin. Otros componentes pueden evitar que la carga alcance este
componente, lo que aumenta el tiempo que se tarda en completar la carga.
POR QU HACER PRUEBAS PARA ENCONTRAR CUELLOS DE BOTELLA?
Para que las pruebas de carga sean significativas, sera suficiente si simplemente
quisisemos poner fuerza bruta en la aplicacin bajo testeo hasta que esta
'fallara' por algn lado. Pero ese es un objetivo poco ambicioso que a duras penas
justifica el esfuerzo de montar un entorno de pruebas, crear pruebas y contar con
un equipo de Testing. Si hacemos pruebas de carga las tenemos que hacer con un
propsito claro: mejorar el rendimiento de la aplicacin y en consecuencia, su
escalabilidad, no simplemente nos debe valer el saber los lmites de nuestra
aplicacin. Y para esto debemos ser capaces de detectar cuellos de botella. Esto
es lo realmente importante de las pruebas de carga: detectar cuellos de botella.
Saber que recursos hacen que nuestra aplicacin no se ejecute ms rpido y
sobre todo, saber donde debemos centrar nuestro esfuerzo econmico, bien en
forma de ms hardware o bien en forma de esfuerzos de optimizacin.
DECIDA QU EXAMINAR
Debe supervisar el uso de la memoria, el uso de la CPU, el rendimiento de la
entrada y salida de disco, las conexiones de usuario y los bloqueos. Para
determinar el origen de un cuello de botella, observe las cuestiones relativas al
sistema antes de examinar las cuestiones referentes al cliente y a las consultas.
Por ejemplo, los cuellos de botella relacionados con el sistema y ocasionados por
el uso de los discos y la memoria pueden afectar al rendimiento general de toda la
aplicacin, incluidas las consultas individuales. La resolucin de cuestiones como
la hiperpaginacin en disco, antes de examinar el rendimiento de una consulta en
particular, resulta muy til.
CONOZCA EL INTERVALO DE RENDIMIENTO ACEPTABLE.
Como ocurre con cualquier tcnica para solucionar problemas, el conocimiento del
grado de rendimiento aceptable ayuda a identificar las reas problemticas. Las
cifras pequeas pueden ser tan significativas como las grandes. Una cifra menor o
mayor de lo esperado puede indicar un posible problema. En ocasiones, un
problema en un rea afecta desfavorablemente o disimula problemas en otra. Por
ejemplo: Un componente puede evitar que la carga alcance a otro componente. La
congestin de la red puede impedir que las solicitudes de los clientes lleguen al
servidor. Los clientes pueden tener cuellos de botella que les impidan el acceso al
servidor. Para descubrir los lmites reales, puede simular una carga de trabajo en
la BD, mientras supervisa el sistema con las diferentes herramientas que existen
hoy en da.

reas claves a supervisar para realizar un seguimiento del rendimiento del


servidor e identificar cuellos de botella.
POSIBLE REA
DEL CUELLO DE
BOTELLA
USO DE LA
MEMORIA

USO DE LA CPU

EFECTOS EN EL SERVIDOR
Si no se asign o no hay disponible suficiente memoria para la
BD, el rendimiento disminuir. Los datos se deben leer en el
disco, y no directamente en la cach de datos. Los sistemas
operativos realizan una paginacin excesiva intercambiando
datos con el disco cuando son necesarias las pginas.
Un uso excesivo continuo de la CPU puede indicar que las
consultas de diferentes transacciones SQL deben optimizarse o
que es necesaria una actualizacin de la CPU.

La CPU controla los recursos del sistema y ejecuta los procesos


de usuario. El principal objetivo con este dispositivo es lograr
que no haya bloqueos de procesos para conseguirla. Si el
sistema operativo, o los procesos de los usuarios, hacen
muchas demandas de CPU, sta se convierte en un cuello de
botella. Esto suele ocurrir cuando hay muchas faltas de pgina o
se realiza mucho swapping.
ENTRADA/SALIDA Las consultas de transacciones SQL se pueden optimizar para
reducir la E/S innecesaria; por ejemplo, mediante el uso de
(E/S) DE DISCO
ndices.
Los discos tienen una velocidad de entrada/salida. Cuando se
requieren datos a una velocidad mayor que sta, el disco se
convierte en un cuello de botella. Dependiendo de cmo se
organicen los datos en el disco, se conseguir reducir la
probabilidad de empeorar las prestaciones. Los principios
bsicos que se deberan seguir para repartir los datos en los
discos son los siguientes: Los ficheros del sistema operativo
deben estar separados de los ficheros de la base de datos. Los
ficheros de datos deben estar separados de los ficheros de
ndices Los ficheros con los diarios de operaciones deben estar
separados del resto de los ficheros de la base de datos.
CONEXIONES DE Puede haber demasiados usuarios obteniendo acceso al
servidor de forma simultnea, lo que disminuye el rendimiento.
USUARIO
BLOQUEOS DE
CIERRE

LA RED

Las aplicaciones diseadas incorrectamente pueden causar


simultaneidad de obstculos y bloqueos, lo que genera tiempos
de respuesta ms largos y un menor rendimiento de las
transacciones.
Se convierte en un cuello de botella cuando tiene mucho trfico y
cuando hay muchas colisiones.

Las solicitudes de cliente pueden tardar ms tiempo debido a


una congestin de la red.
Un cuello de botella es cualquier componente o actividad que limita el
rendimiento. Todos los sistemas tienen cuellos de botella, pero uno de los
objetivos de la supervisin de un servidor es localizar aqullos que reducen el
rendimiento por debajo de sus expectativas. Para ello, debe comprender la
naturaleza y el funcionamiento interno de las operaciones.
Decida qu examinar: Debe supervisar el uso de la memoria, el uso de la CPU,
el rendimiento de la entrada y salida de disco, las conexiones de usuario y los
bloqueos. Para determinar el origen de un cuello de botella, observe las
cuestiones relativas al sistema antes de examinar las cuestiones referentes al
cliente y a las consultas. Por ejemplo, los cuellos de botella relacionados con el
sistema y ocasionados por el uso de los discos y la memoria pueden afectar al
rendimiento general de toda la aplicacin, incluidas las consultas individuales. La
resolucin de cuestiones como la hiperpaginacin en disco, antes de examinar el
rendimiento de una consulta en particular, resulta muy til.
Conozca el intervalo de rendimiento aceptable: Como ocurre con cualquier
tcnica para solucionar problemas, el conocimiento del grado de rendimiento
aceptable ayuda a identificar las reas problemticas. Las cifras pequeas
pueden ser tan significativas como las grandes. Una cifra menor o mayor de lo
esperado puede indicar un posible problema. En ocasiones, un problema en un
rea afecta desfavorablemente o disimula problemas en otra. Por ejemplo:
Un componente puede evitar que la carga alcance a otro componente.
La congestin de la red puede impedir que las solicitudes de los clientes
lleguen al servidor.
Los clientes pueden tener cuellos de botella que les impidan el acceso al
servidor.
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.
Tareas de supervisin habituales.
SQL Server proporciona herramientas que puede utilizar para examinar diversos
aspectos de su rendimiento. Estas herramientas ofrecen distintos grados de detalle
para ayudarle a aislar las reas con problemas. Su objetivo debe ser determinar el
factor que tiene un mayor efecto en el rendimiento. A menudo, para aislar el cuello de
botella es necesario repetir varias veces este proceso de supervisin.
Supervisin del sistema: Al evaluar el sistema, obsrvelo primero desde una
perspectiva ms general, para asegurarse de que dispone de hardware
suficiente para satisfacer los requisitos de las tareas que debe realizar. A
continuacin, valore los efectos de la configuracin del sistema operativo y el
diseo de la aplicacin. Para este tipo de supervisin, puede utilizar:
Visor de sucesos de Windows.
Monitor de sistema de Windows.

Supervisin especfica de SQL Server


A continuacin, supervise reas especficas de SQL Server. Observe la actividad
de SQL Server y la coherencia de los datos. Supervise la cantidad de bloqueos y
conflictos por los recursos, y el uso de conexiones de usuarios. Para este tipo de
supervisin, puede utilizar:
o La ventana Actividad actual del Administrador corporativo de SQL Server.
o Procedimientos almacenados del sistema e instrucciones de TransactSQL.
o Analizador de SQL.
Utilice instrucciones del comprobador de coherencia de la base de datos
(DBCC, Database Consistency Checker) para asegurar que las estructuras
internas de datos son correctas.
Rendimiento de consultas especficas
Por ltimo, examine consultas especficas para evaluar su rendimiento. Entre
los elementos que puede revisar se encuentran el uso de ndices, el tiempo de
CPU de una consulta y la E/S efectiva. Para este grado detallado de
supervisin puede usar el Analizador de SQL, el Analizador de consultas SQL y
el Asistente para optimizacin de ndices
Herramientas para supervisar SQL Server
SQL Server y Windows incluyen varias herramientas para supervisar el
rendimiento de un servidor. Entre estos elementos se encuentran los siguientes:
el Visor de sucesos de Windows, el Monitor de sistema de Windows, la ventana
Actividad actual del Administrador corporativo de SQL Server, las herramientas
de Transact-SQL, el Analizador de SQL y el Analizador de consultas de SQL
Server.
Todas las herramientas de supervisin del rendimiento utilizan recursos del
sistema, por lo que es previsible que se produzca una sobrecarga en el
rendimiento al utilizarlas.
Administrador de Tareas de Windows.

Aplicacin de Windows, que permite entregar en forma grfica, el rendimiento de


diferentes dispositivos del computador, tales como: CPU, Memoria, Disco y Red.
Monitor de recursos de Windows.
Pestaa CPU: En la pestaa CPU podemos analizar y detener los procesos y

servicios actualmente en ejecucin. Adems se visualizan los procesos que


utilizan ms CPU, que es una de las posibles causas que explicaran una
excesiva lentitud de nuestra mquina.

Pestaa Memoria
Se visualizan los procesos que actualmente estn cargados en la RAM del
sistema y el uso que se hace de la misma, Se puede determinar si hay algn
proceso que este consumiendo excesiva memoria.

Pestaa Disco
Se muestran los procesos que estn realizando operaciones de lectura /
escritura en el o los discos duros del computador. Tambin se visualizan las
unidades de almacenamiento instaladas en nuestro equipo. Con esta pestaa
podemos observar bastantes variables, entre otras, el tiempo de respuesta del
disco por cada proceso, tambin el total de bytes /seg ledos y escritos por
cada aplicacin entre otras muchas cosas.

Pestaa Red
Se muestra en forma detallada informacin de los procesos que estn ejecutando
operaciones de red, los puertos que estn abiertos y las direcciones IP a la que estn
conectados.

Visor de sucesos de Windows.


Utilice el Visor de sucesos de Windows para identificar sucesos que puedan estar
causando cuellos de botella en el rendimiento. Con esta informacin podr determinar
qu sucesos o reas del rendimiento conviene examinar con ms detalle.

El Visor de sucesos de Windows 2000 permite ver los registros de sucesos


descritos en la tabla siguiente.
Tipo

Registro de aplicacin
de Windows
Registro de sistema de
Windows
Registro de seguridad
de Windows Contiene
los
sucesos
que
registran
las
aplicaciones, como SQL
Server. Por ejemplo,

Descripcin

una aplicacin de base de datos


podra anotar un error de archivo en
el registro de aplicacin.
Contiene sucesos que registran los
componentes
de
sistema
de
Windows. Por ejemplo, un error al
cargar un controlador u otro
componente del sistema durante el
inicio del equipo se anotar en el
registro de sistema.
Registra los sucesos de seguridad de
Windows 2000, como los intentos de
iniciar una sesin en el sistema

Monitor de sistema de Windows con SQL Server.


Cuando desee hacer un seguimiento de la actividad del servidor y obtener
estadsticas de su rendimiento, utilice el Monitor de sistema de Windows. Puede
usar esta herramienta para registrar el rendimiento de objetos como los
procesadores, la memoria, la memoria cach, los subprocesos y los procesos a lo
largo de un perodo o para observar la actividad del servidor en tiempo real. Esta
herramienta grfica proporciona funciones de grficos, alertas e informes.
El Monitor de sistema de Windows incluye muchos contadores, cada uno de los
cuales mide algn recurso del equipo. Es posible ampliarlo de modo que las
aplicaciones de servidor puedan agregar sus propios contadores de rendimiento.
Durante la instalacin, SQL Server agrega al Monitor de sistema de Windows
contadores que permiten hacer un seguimiento de los siguientes elementos:

E/S de SQL Server.


Uso de la memoria por parte de SQL Server.
Conexiones de usuario de SQL Server.
Bloqueos en SQL Server.
Actividad de replicacin.

Tambin puede crear un mximo de diez contadores personalizados y


asignarles valores. Cada contador puede supervisar cualquier informacin que
devuelva una instruccin SQL o cualquier operacin que se realice desde SQL
Server, como la ejecucin de un procedimiento almacenado de sistema.
SQL Server Management Studio Express.
Cliente que proporciona una interfaz grfica para la instancia de SQLServer. Este
software es gratuito. En los laboratorios est instalada la versin SQL Server
Management Studio 2008 (incluido con la versin completa SQL Server 2008 o bien
con la versin Express SQL Server 2008 Express with Tools).

Ventana Actividad actual del Administrador corporativo de SQL Server


Puede utilizar la ventana Actividad actual en el Administrador corporativo de SQL
Server para ver informacin grfica de cualquier instancia de SQL Server relativa a las
conexiones y bloqueos de usuario, el nmero de procesos, el estado, los bloqueos y
las instrucciones actuales que ejecutan los usuarios activos, as como para determinar
qu objetos estn bloqueados y los tipos de bloqueos presentes.
Informacin de procesos de SQL Server.
La ventana Actividad actual muestra informacin acerca de las conexiones
abiertas. Permite ver quin se encuentra conectado actualmente y muestra la
ltima instruccin ejecutada por el usuario. La ventana Actividad actual
muestra informacin acerca de los bloqueos ordenada por identificador de
proceso o por objeto.
Bloqueos e interbloqueos.
SQL Server coloca bloqueos en las tablas o pginas de datos relevantes, lo que
permite bloquear dichos recursos. La ventana Actividad actual muestra todos los
recursos que bloquean otros procesos, as como cualquier interbloqueo que se
haya producido.
Administracin de procesos y bloqueos.
Los administradores del sistema pueden ver informacin adicional acerca de un
proceso seleccionado, enviar un mensaje a un usuario seleccionado o terminar
un proceso seleccionado.

Tareas habituales de supervisin y optimizacin


Para supervisar una instancia de SQL Server es necesario realizar un anlisis de
algunas reas clave que se tratan en este mdulo. La eliminacin de los cuellos de
botella fsicos puede afectar al rendimiento de forma inmediata y aislar todava ms
los problemas de diseo en la base de datos, las consultas de Transact-SQL o las
aplicaciones de cliente.
Supervisin del uso de la memoria

Cmo utiliza SQL Server la memoria para la cach de datos.


De manera predeterminada, SQL Server adquiere y libera memoria para la cach
de datos dinmicamente, segn los recursos del sistema disponibles y la
demanda simultnea de dichos recursos. Si SQL Server precisa memoria
adicional para la cach de datos, consulta al sistema operativo para determinar si
hay disponible memoria fsica. En caso afirmativo, SQL Server la utiliza para la
cach de datos y conserva los datos ledos previamente. SQL Server aumenta y
reduce la cach de datos para mantener libre una cantidad de memoria fsica
comprendida entre 4 MB y 10 MB, en funcin de la actividad del servidor, e
impedir as la paginacin de Windows 2000. Si se ha asignado o hay disponible
una

Cantidad de memoria insuficiente en SQL Server, el rendimiento disminuye, ya


que los datos se leen de forma continua en lugar de residir en la cach de datos.
Supervisin del uso de los archivos de paginacin y la memoria.
Memoria: Bytes disponibles

Supervisa el nmero de
bytes disponibles para
que se ejecuten los
procesos

Este contador siempre


debe
mostrar una cifra mayor de 5000
KB. Un valor inferior indicara que la
memoria fsica global es insuficiente
y debe incrementarse.

Memoria: Pginas/seg.

Supervisa el nmero de
pginas que el sistema
operativo Windows 2000
leer o escribir en el
disco duro para resolver
los fallos de pgina

Este contador nunca debe ser mayor de


cero de forma regular. En caso contrario,
el sistema operativo Windows 2000 est
utilizando el archivo de paginacin para
rellenar solicitudes de memoria.

Proceso: Fallos de
pgina/seg./Instancia
de SQL Server

Supervisa los fallos de


pgina causados por
Windows
2000
al
recortar los tamaos de
los conjuntos de trabajo
de dichos procesos

Un nmero alto en este contador


indica un
exceso de
paginacin
e
hiperpaginacin en disco. Compruebe
si SQL Server u otro proceso provoca
el exceso de paginacin.

Los contadores siguientes indican la cantidad de bytes disponibles actualmente para los
procesos, el nmero de pginas relacionadas con los fallos de pgina y la tasa de fallos de
pgina atribuibles a SQL Server.

Objeto: Contador

Descripcin

Pautas

Aislamiento de la memoria utilizada por SQL Server

La supervisin de los siguientes contadores de rendimiento le ayudar a


identificar la cantidad de memoria que SQL Server, en lugar de otros procesos,
est utilizando.
Objeto: Contador

Descripcin

Pautas

SQL Server:
Administrador de
bfer: Proporcin
de aciertos de
cach del bfer
SQL Server:
Administrador de
bfer: Pginas
totales
Proceso:
Conjunto de
trabajo/Instan
cia de SQL
Server

SQL Server:
Administrador de
memoria: Memoria
total del servidor
Supervisa la cantidad de
memoria que el proceso de SQL

Server emplea en una


instancia de SQL
Server.
Supervisa el porcentaje
de pginas de la cach
del bfer sin leer en el
disco duro. No
establece diferencias
entre la memoria fsica
y la memoria de
archivos de paginacin
utilizadas para la cach
del bfer.
Supervisa el nmero
total de pginas de la
cach
del
bfer
incluidas las pginas
de base de datos,
libres y descartadas
de otros procesos.

Supervisa
la
cantidad total de
memoria
dinmica
que
utiliza
el
servidor.

disponible memoria
para SQL Server.

adicional

Este contador debe ser mayor


del 90 por ciento, ya que indica
el nmero de pginas
almacenadas en la cach.
Un nmero bajo podra indicar
una frecuencia elevada de E/S o
hiperpaginacin en disco.
Considere la posibilidad de
agregar ms memoria.

Este contador
ser mayor de
KB.
En
contrario, no

debe
5.000
caso
habr

Si este contador indica, de


forma regular, una cantidad alta
en comparacin con la cantidad
de memoria fsica disponible,
puede que se necesite ms
memoria.

Supervisin del uso de procesador y subprocesos

Para obtener un rendimiento ptimo del procesador debe haber un equilibrio


entre el rendimiento y los tiempos de respuesta.
Rendimiento del procesador
Al examinar el uso del procesador, tenga en cuenta el tipo de trabajo que realizar
la instancia de SQL Server. Si SQL Server debe realizar un gran nmero de
clculos, como consultas que requieran agregados o consultas limitadas a la
memoria que no requieran E/S de disco, puede utilizarse todo el tiempo del
procesador.
En los sistemas multiprocesador deber supervisar una instancia independiente de
este contador en cada procesador. Para determinar el promedio de todos los
procesadores, utilice el contador Sistema: % de tiempo de procesador total.

Una tasa de procesador que se mantiene alta de forma continuada puede indicar que
necesita realizar una actualizacin de CPU o agregar ms procesadores. Asimismo,
una tasa de utilizacin de CPU que se mantiene alta de forma continuada podra
indicar un ajuste o un diseo deficientes de la aplicacin.

Subprocesos.
Cada instancia de SQL Server constituye un proceso de sistema operativo
independiente. Las instancias de SQL Server 2000 emplean subprocesos de
Windows y, en ocasiones, interprocesos, para administrar estas tareas
simultneas de forma eficaz.

Los procesos son instancias de una aplicacin, por ejemplo, SQL Server,
que pueden tener una o varias tareas.

Los subprocesos son mecanismos que procesan las tareas y se utilizan


para programar el tiempo en los procesadores.

Para lograr la mxima utilizacin de los procesadores, el sistema operativo


Windows 2000 cambia entre los subprocesos cuando un subproceso queda
inactivo mientras espera a que una operacin se complete, como una lectura o
escritura en el disco duro. El cambio entre subprocesos se denomina cambio
Adems, cada instancia de SQL Server mantiene un grupo de subprocesos para
las conexiones del usuario. Los subprocesos de este grupo se denominan
subprocesos de trabajo. Los cuellos de botella pueden identificarse cuando
Procesador: % de tiempo de procesador se aproxima de forma regular al 100
por ciento y Sistema: Longitud de cola de procesador muestra varios procesos
de la aplicacin a la espera de ser procesados, o cuando el valor de Sistema:
Cambios de contexto/Seg. Es alto. Si Procesador: % de tiempo de
procesador se aproxima al 100 por ciento y Sistema: Cambios de
contexto/Seg. Se aproxima a 8.000, considere la posibilidad de utilizar
procesadores ms rpidos, procesadores adicionales o de comenzar a utilizar
interprocesos. Un solo subproceso puede contener varios interprocesos. Para
habilitar el uso de interprocesos dentro de un subproceso en SQL Server en lugar
de utilizar varios subprocesos para tareas de SQL, cambie el valor de
lightweight pooling a 1. Esto se denomina programacin en intraproceso. Al
utilizar la programacin en modo de intraproceso, SQL Server:

Asigna los intraprocesos del sistema operativo Windows 2000 desde un


grupo de intraprocesos a las tareas del usuario, en lugar de asignar los
subprocesos del sistema operativo Windows 2000 a un grupo de
subprocesos.
Realiza todos los cambios entre intraprocesos, en lugar de permitir que el
sistema operativo Windows 2000 se ocupe de esta tarea.

Cuando SQL Server cambia entre intraprocesos dentro de un subproceso,


Windows 2000 ahorra recursos, ya que no necesita cambiar entre modos. La
sobrecarga asociada con la habilitacin de la programacin en el modo de

intraproceso suele ser mayor que cuando se permite que Windows 2000
realice el cambio de contexto. Basndose en la referencia, debe asegurarse de
que todos los cambios se prueban y tienen un efecto favorable.

La tabla siguiente enumera las descripciones y pautas para los contadores tiles de
los objetos Sistema y Procesador.

Objeto: Contador
Procesador: % de
tiempo de
procesador

Sistema:
Cambios de
contexto/Seg.

Sistema: Longitud
de cola
de procesador

Procesador:
%Tiempo
privilegiado

Procesador:
%Tiempo del
usuario

Descripcin
Supervisa
porcentaje
tiempo
que
procesador
emplea
procesar
subprocesos
inactivos

Pautas
el
de
el
en

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

Supervisa el porcentaje de tiempo


que el procesador emplea en
ejecutar procesos del usuario,
Supervisa el nmero como el propio SQL Server
de
veces
por El valor de este contador debe ser
segundo
que
el inferior al 90 por ciento. Si el valor
procesador realiza
es superior, reduzca la carga de
cambios entre
trabajo, aumente la eficacia de la
subprocesos
carga de trabajo o la capacidad del
procesador.
no

Supervisa
el
nmero
de
subprocesos a la
espera de utilizar
el
tiempo
de
procesador

Supervisa
el
porcentaje de tiempo
que el procesador
emplea del tiempo

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
por ciento, considere la posibilidad
de habilitar la programacin en
modo de intraproceso de SQL
Server.
Este contador nunca debe superar
de forma regular el valor de 2. Si
ste es el caso, reduzca la carga
de trabajo, incremente la eficacia

de la carga de trabajo
o
aumente
la
capacidad
o
el
nmero
de
procesadores de un
sistema
multiprocesador.
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.

Puede indicar que otros procesos


o aplicaciones estn ejecutando e
impidiendo operaciones de SQL
Server.

Supervisin de la entrada y salida en el disco duro.

SQL Server usa llamadas de entrada y salida (E/S) de Windows 2000 para
leer y escribir en el disco, y administra cundo y cmo se realiza la entrada y
salida en el disco pero delega en Windows la realizacin de las operaciones
de E/S subyacentes. El subsistema de E/S incluye el bus del sistema,
tarjetas controladoras de disco, discos, unidades de cinta, unidades de CDROM y muchos otros dispositivos de E/S. Habitualmente, los discos
representan el mayor cuello de botella de un sistema.
Supervisin de la E/S de disco fsico.
La supervisin de la entrada y salida en el disco duro le ayudar a
determinar si la escritura y lectura de pginas supera la capacidad del
subsistema de disco duro. Un subsistema de disco duro ocupado tambin
puede indicar un exceso de entrada y salida de archivos de paginacin

provocada por una cantidad de memoria insuficiente. La tabla siguiente


describe los contadores de rendimiento de objeto que puede usar para
supervisar el rendimiento del subsistema del disco duro.
Objeto: Contador

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
Disco fsico:
Supervisa el promedio
Promedio
de
de
solicitudes
de
longitud de cola
lectura y escritura que
de disco
se ponen en cola
Disco
fsico:
Supervisa la
Lecturas
de
tasa de
disco/seg.
operaciones de lectura
Disco
fsico:
Escritura
de
disco/seg.

Supervisa
tasa de
operaciones
escritura

la
de

El valor de este
contador debe ser
inferior al 90 por
ciento, de forma
regular.
El valor de este
contador no debe
ser
superior
al
doble del nmero
de
discos
del
cilindro.
El valor de este
contador debe ser
inferior de forma
regular
a
la
capacidad
del
subsistema
de
disco duro.
El valor de este
contador debe ser
inferior de forma
regular
a
la
capacidad
del
subsistema
de
disco duro.

Si estos contadores de disco duro indican que est sobrecargando la


capacidad del subsistema de disco duro, considere la posibilidad de:
Ajustar la aplicacin o la base de datos para reducir las operaciones
de E/S en el disco duro (como cobertura y mejora de ndices, o
normalizacin).
Aumentar la capacidad de E/S de disco duro del hardware mediante
el uso de un disco duro ms rpido.
Transferir algunos archivos a un disco duro o servidor adicional.
Agregar una matriz de discos duros.
Aumentar la cantidad de memoria, lo que podra contribuir a aliviar la
hiperpaginacin en el disco.
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 identifica los bloqueos de
cierre y los resuelve automticamente, lo que deja el recurso bloqueado.
Debe supervisar la existencia de bloqueos de cierre para poder
eliminarlos manualmente. Mediante la creacin de una configuracin de
tiempo de espera de bloqueo en la aplicacin podr impedir que se
produzcan bloqueos de cierre. Esto permitir a la aplicacin identificar la
existencia de bloqueos de cierre y deshacer la transaccin, en lugar de
esperar indefinidamente o volver a emitir la instruccin bloqueada.

Administracin de bloqueos
El Monitor de sistema de Windows supervisa la actividad global de bloqueo
del sistema mediante el Contador de objetos de bloqueo de SQL Server.
Para trazar y registrar la actividad de bloqueo de forma detallada, use el
Analizador de SQL. El objeto Bloqueos del Administrador corporativo de
SQL Server proporciona informacin acerca de los bloqueos de SQL Server
en tipos de recursos individuales. Adems, puede supervisar la actividad de
SQL Server mediante los procedimientos almacenados de sistema sp_who
y sp_lock. El procedimiento almacenado de sistema sp_who proporciona
informacin de instantneas acerca de los procesos y usuarios actuales de
SQL Server, incluida la instruccin que est ejecutndose e
independientemente de que la instruccin est bloqueada. El procedimiento
almacenado de sistema sp_lock proporciona informacin de instantneas
acerca de los bloqueos, incluido el identificador de objeto y de ndice, el tipo
de bloqueo y el tipo de recurso al que se aplica el bloqueo. Es posible que
el uso de sp_lock para presentar informacin de bloqueo no resulte
prctico si se aplican y liberan varios bloqueos ms rpido de lo que
sp_lock puede mostrarlos. Tras usar una de estas herramientas para
identificar el tipo de bloqueo y el identificador de proceso, o el objeto que lo
causa, puede usar la ventana Actividad actual del Administrador corporativo
de SQL Server para administrar el bloqueo.
Supervisin de consultas de bajo rendimiento.
Para solucionar un problema de rendimiento quizs le tiente la idea de
optimizar nicamente el rendimiento del servidor en el sistema, por
ejemplo, el tamao de la memoria, ubicacin, nmero y tipo de
procesadores. Sin embargo, normalmente no es posible solucionar los
problemas relacionados con consultas de bajo rendimiento de esta
forma. Para ello debe analizar la aplicacin, las consultas y las
actualizaciones que la aplicacin emite a la base de datos, y la forma en
que las consultas y las actualizaciones interactan con el esquema de
base de datos.
Identificacin del rendimiento de las consultas.
El Analizador de SQL puede supervisar las consultas en funcin del
tiempo transcurrido con el fin de identificar las consultas de bajo
rendimiento del sistema. Para trazar las consultas de peor rendimiento,
cree una traza que capture sucesos relacionados con las clases de
suceso TSQL y Procedimiento almacenado, en concreto,
RPC:Completed (Completo) y SQL: BatchCompleted (Proceso por lotes
completado).
Causas del bajo rendimiento en las consultas.

Las consultas y actualizaciones cuya duracin se prolonga de forma


imprevista pueden deberse a:
Comunicaciones de red lentas.
Memoria insuficiente para SQL Server.
Consultas de Transact-SQL que transfieren una gran cantidad
de datos entre el cliente y el servidor.
Ausencia de estadsticas tiles.
Estadsticas obsoletas o ausencia de ndices tiles.
Ausencia de creacin de bandas de datos tiles.
Bloqueos de cierre o interbloqueos causados por
transacciones de larga duracin emitidos por otros usuarios.
Utilizacin de aplicaciones de proceso de transacciones y de
ayuda a la toma de decisiones en el mismo equipo.
Conclusiones.
Luego de muchas horas de investigacin y anlisis, y al finalizar

este trabajo; creo tener el conocimiento necesario para comenzar


a dar mis primeros pasos en lo que es la evaluacin de
rendimiento de una base de datos. Pero sustancialmente he
podido deferir la importancia de la realizacin de esta evaluacin
y la razn de porque se lleva a cabo.
El rendimiento en un Servidor de Bases de Datos, es tan
importante como en rendimiento en cualquier equipo. Pero
necesariamente debe ser en ste, en el cual se debe apuntar
directamente la responsabilidad, puesto que hoy en da, se
trabaja directamente con este tipo de almacenes de datos, si
estos no responden como corresponden, no se puede trabajar y
entregar un servicio ptimo tanto para los clientes, como a uno
mismo en el trabajo.
hoy en da es muy importante el estudio de las bases de datos, el
cual me ha permitido conocer sus ventajas y caractersticas como
trabajan. Tambin aprender a administrar grandes volmenes de
informacin utilizando herramientas propias del sistema. Por
ejemplo: Herramientas de control de rendimientos, de procesos y
transferencia. Tambin la utilizacin de los niveles de abstraccin
en el diseo de estructura de datos complejos. Por lo tanto el
siguiente estudio realizado me permite enfrentar nuevos desafos
en lo personal y laboral.
Este trabajo de investigacin, me ha permitido entender la
importancia que tiene en el desarrollo de un sistema
computacional, el Administrador de Base de Datos. La
administracin y supervisin constante de una Base de
Datos, permite entregar una informacin confiable y en forma
rpida a los usuarios del sistema.

La supervisin del rendimiento de una Base de Datos, es una


de las tareas ms importantes de un Administrador de Base
de Datos, donde tiene que aplicar toda su experiencia, para
detectar el origen de los problemas ocasionados en las
transacciones de datos y as darles una Manuales de
Administracin de Base de Datos Microsoft SQL Server 2000.

Das könnte Ihnen auch gefallen