Beruflich Dokumente
Kultur Dokumente
Profesor:
Hctor Schultz Prez
Integrantes:
Wladimir Corts Corts
Macarena Quiroz Armijo
Juan Muoz Salazar
Ives Escobar vila
Tabla de contenido
A.
Introduccin. ....................................................................................................................................... 4
B.
2.
C.
D.
E.
4.
F.
G.
2.
H.
I.
2.
3.
PRUEBAS DE RENDIMIENTO.......................................................................................................... 12
4.
5.
6.
7.
8.
J.
2.
3.
K.
2.
a)
b)
c)
d)
3.
4.
5.
L.
2.
3.
M.
1.
2.
3.
4.
5.
b)
Subprocesos. ............................................................................................................................. 27
6.
7.
Interbloqueos ............................................................................................................................ 30
b)
c)
8.
N.
b)
Conclusiones. .................................................................................................................................... 33
1.
2.
3.
4.
O.
Bibliografa. ....................................................................................................................................... 35
A. Introduccin.
El objetivo de supervisar bases de datos es evaluar el rendimiento de un servidor. Una
supervisin eficaz implica tomar instantneas peridicas del rendimiento actual para aislar
procesos que causan problemas y recopilar datos de forma continua a lo largo del tiempo para
realizar el seguimiento de las tendencias de rendimiento. Microsoft SQL Server y el sistema
operativo Microsoft Windows proporcionan herramientas que le permiten ver las condiciones
actuales de la base de datos y realizar un seguimiento del rendimiento a medida que stas
cambian.
El objetivo de supervisar Bases de Datos, es evaluar el rendimiento de un Sistema de
Administracin de Base de Datos (SABD), para responder a las transacciones realizadas por
los usuarios que solicitan datos a travs de un Sistema Computacional.
La Evaluacin de una Base de Datos, es una de las tareas ms importantes de un
Administrador de Base de Datos.
Este profesional es el encargado de analizar
constantemente el funcionamiento del SABD, para optimizar el uso de los recursos, como
CPU, Memoria, Disco y Red, para ver su desempeo.
El anlisis constante de un SABD, permite ver su desempeo en todo momento. Si se detecta
que las transacciones no son respondidas con la rapidez que se necesita o se pierden datos,
el Administrador de la Base de Datos, debe aplicar las medidas correctivas para solucionar las
fallas, analizando su comportamiento a travs de herramientas grficas provistas por el
fabricante de la aplicacin.
Este informe se basa en el Administrador de Base de Datos SQL Server, el cual, nos permiti
realizar prcticas para conocer las herramientas grficas que provee Microsoft, SQL Server
Management Studio, versin Express 2008.
La estructura del informe est organizada de la siguiente forma:
Supervisin de un Sistema Administrador de Base de Datos. Explica es el objetivo de
supervisar un Sistema Administrador de Base de Datos, como optimizar la supervisin y que
herramientas se pueden utilizar para analizar su funcionamiento.
Para la deteccin de fallas en el funcionamiento de un Sistema Administrador de Base de
Datos, se entregan recomendaciones para encontrar donde se encuentra la falla, identificando
donde se generan cuellos de botellas o alta demanda de un recurso como CPU, Memoria,
Disco o Red.
Se detallan las herramientas de supervisin que nos provee Microsoft. El Administrador de
Tareas, el Visor de Sucesos, donde se visualizan los reportes del Sistema Operativo. SQL
Server Management Studio, donde se muestran los movimientos que tienen las transacciones
en la Base de Datos.
Se explica cmo trabaja las transacciones el Sistema Administrador de Base de Datos,
indicando los recursos que utiliza y como los utiliza a travs de contadores. Las transacciones
en Memoria, en los Discos, la CPU y la Red.
Como un Sistema Administrador de Base de Datos realiza Bloqueos a las transacciones y
como es el tratamiento que hace a los interbloqueos.
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.
El ajuste del rendimiento tiene como objetivo la optimizacin de dicho servicio para la
aplicacin.
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.
Optimizar la base de datos. Esto puede mejorar el tiempo de respuesta de las consultas.
Para optimizar la base de datos, perfeccione el diseo lgico y fsico.
Optimizar SQL Server. Para optimizar SQL Server puede evaluar el diseo de
almacenamiento o, en algunos casos, ajustar las opciones de configuracin.
Conocer los datos y cmo se seleccionan, cules son los posibles valores, qu
informacin representan y cmo se utilizan.
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.
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:
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.
10
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.
corregirse.
Recursos del mismo tipo que no distribuyen de forma equilibrada las cargas de
trabajo; por ejemplo, cuando un recurso monopoliza un disco.
Optimizar el query
Crear un ndice
Particionar la tabla
11
3. 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.
12
5. 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.
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.
13
reas claves a supervisar para realizar un seguimiento del rendimiento del servidor
e identificar cuellos de botella.
EFECTOS EN EL SERVIDOR
USO DE LA
MEMORIA
USO DE LA CPU
ENTRADA/SALIDA
(E/S) DE DISCO
CONEXIONES DE
USUARIO
BLOQUEOS DE
CIERRE
LA RED
14
7. 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.
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.
15
Analizador de SQL.
16
17
b) Pestaa Memoria
18
c) Pestaa Disco
d) Pestaa Red
19
Descripcin
20
21
2. 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.
22
23
Descripcin
Pautas
Supervisa el nmero de
bytes disponibles para que
se ejecuten los procesos
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
Proceso: Fallos de
pgina/seg./Instancia
de SQL Server
24
Descripcin
Pautas
Proceso: Conjunto de
trabajo/Instancia de
SQL Server
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.
25
Para obtener un rendimiento ptimo del procesador debe haber un equilibrio entre el
rendimiento y los tiempos de respuesta.
26
b) 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, intraprocesos, 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
de contexto. 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 intraprocesos.
Un solo subproceso puede contener varios intraprocesos. Para habilitar el uso
de intraprocesos 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 modo de intraproceso.
Al utilizar la programacin en modo de intraproceso, SQL Server:
27
La tabla siguiente enumera las descripciones y pautas para los contadores tiles de los objetos
Sistema y Procesador.
Objeto: Contador
Descripcin
Pautas
Procesador: % de tiempo
de procesador
Supervisa el porcentaje
de tiempo que el
procesador emplea en
procesar subprocesos
no inactivos
Supervisa el nmero de
veces por segundo que el
procesador
realiza
cambios
entre subprocesos
Supervisa el nmero de
subprocesos
a
la
espera de utilizar el
tiempo de procesador
Sistema: Cambios
de contexto/Seg.
Procesador:
%Tiempo
privilegiado
Procesador:
del usuario
%Tiempo
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
Supervisa el porcentaje
de
tiempo
que
el
procesador emplea en
ejecutar procesos del
usuario, como el propio
SQL Server
28
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 CD-ROM y muchos otros dispositivos de E/S.
Habitualmente, los discos representan el mayor cuello de botella de un sistema.
Descripcin
Pautas
Disco fsico:
Promedio de longitud de
cola de disco
Supervisa
el
promedio
de
solicitudes de lectura y escritura
que se ponen en cola
Supervisa
la
tasa
operaciones de lectura
de
Supervisa
la
tasa
operaciones de escritura
de
29
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.
7. 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.
a) 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.
b) 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.
30
c) 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.
31
32
N. Conclusiones.
1. Wladimir Corts Corts.
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.
Por lo que adems, puedo comentar que haciendo un anlisis personal a mis
experiencias laborales, tengo la certeza que de haber tenido este conocimiento
un par de aos atrs, la solucin de algunos problemas habra sido mucho ms
sencilla.
Es por eso que quiero recalcar, lo significativo que puede llegar a ser para un
sistema computacional; la realizacin de un plan de evaluacin de desempeo
de base de datos, durante todo el ciclo de un sistema.
33
34
O. Bibliografa.
35