unidad 06

30
  Ing. Metssy A.Yg nacio García 1 UNIDAD ACADÉMICA N° 06: MONITOREO DE LA BASE DE DATOS SQL Server actúa como un servicio para proporcionar datos a las aplicaciones. El ajuste del rendimiento tiene como objetivo la optimización de dicho servicio para la aplicación. La optimización debe concentrarse en reducir al mínimo el tiempo de respuesta de cada consulta y aumentar lo máximo posible el rendimiento de todo el servidor de bases de datos mediante la reducción del tráfico 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 aplicación, la estructura lógica y física de los datos, y el equilibrio entre los usos conflictivos de la base de datos, por ejemplo, entre el proceso de transacciones en línea (OLTP, Online Transaction Processing) y la toma de decisiones. Al finalizar el estudio de la presente unidad temática el estudiante:  Describe las razones por las que es importante la supervisión de SQL Server.  Desarrolla una metodología de supervisión y optimización del rendimiento.  Describe las herramientas disponibles para supervisar SQL Server.  Realiza tareas de supervisión y optimización habituales mediante los contadores y herramientas apropiadas.

description

unidad 6

Transcript of unidad 06

  • Ing. Metssy A.Ygnacio Garca

    1

    UNIDAD ACADMICA N 06:

    MONITOREO DE LA BASE DE DATOS

    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.

    Al finalizar el estudio de la presente unidad temtica el estudiante:

    Describe las razones por las que es importante la supervisin de SQL

    Server.

    Desarrolla una metodologa de supervisin y optimizacin del rendimiento.

    Describe las herramientas disponibles para supervisar SQL Server.

    Realiza tareas de supervisin y optimizacin habituales mediante los contadores y herramientas apropiadas.

  • Ing. Metssy A.Ygnacio Garca

    2

    1. POR QUE SUPERVISAR EL RENDIMIENTO DE LA BASE DE DAT OS?

    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.

    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, SQL Server 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

    2. SUPERVISION Y OPTIMIZACION 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.

    a)a)a)a) Estrategias para la optimizacin del rendimientoEstrategias para la optimizacin del rendimientoEstrategias para la optimizacin del rendimientoEstrategias 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.

  • Ing. Metssy A.Ygnacio Garca

    3

    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.

    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.

    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

    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

    b)b)b)b) Seleccin de un mtodo para optimizar el rendimientoSeleccin de un mtodo para optimizar el rendimientoSeleccin de un mtodo para optimizar el rendimientoSeleccin de un mtodo para optimizar el rendimiento

    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 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.

  • Ing. Metssy A.Ygnacio Garca

    4

    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.

    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.

    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.

    c)c)c)c) Desarrollo de una metodologa de optimizacin del Desarrollo de una metodologa de optimizacin del Desarrollo de una metodologa de optimizacin del Desarrollo de una metodologa de optimizacin del rendimientorendimientorendimientorendimiento

    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.

    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.

  • Ing. Metssy A.Ygnacio Garca

    5

    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

    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.

    d)d)d)d) Establecimiento de una referencia de rendimientoEstablecimiento de una referencia de rendimientoEstablecimiento de una referencia de rendimientoEstablecimiento de una referencia de rendimiento

    No siempre es necesario que las tareas se realicen de la forma ms rpida. Si una consulta o resultado se necesita en dos segundos, SQL Server deber proporcionarla en dos segundos. Es posible que el tiempo y los recursos necesarios para optimizar todava ms una consulta no sean rentables.

  • Ing. Metssy A.Ygnacio Garca

    6

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

    Carga de trabajo . El volumen de actividad del servidor.

    Rendimiento . Nmero total de consultas en un intervalo de tiempo dado.

    Recursos de sistema . Capacidad fsica del hardware del equipo.

    Optimizacin . Diseo de la aplicacin y la base de datos.

    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

    Figura 6.1: Establecimiento de una referencia de rendimiento

  • Ing. Metssy A.Ygnacio Garca

    7

    e)e)e)e) Deteccin de cuellos de botella en el rendimientoDeteccin de cuellos de botella en el rendimientoDeteccin de cuellos de botella en el rendimientoDeteccin de cuellos de botella en el rendimiento

    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.

  • Ing. Metssy A.Ygnacio Garca

    8

    f)f)f)f) Tareas de supervisin habitualesTareas de supervisin habitualesTareas de supervisin habitualesTareas 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 2000.

    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:

    La ventana Actividad actual del Administrador corporativo de SQL Server.

    Procedimientos almacenados del sistema e instrucciones de Transact-SQL.

    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

  • Ing. Metssy A.Ygnacio Garca

    9

    SQL, el Analizador de consultas SQL y el Asistente para optimizacin de ndices.

    3. HERRAMIENTAS PARA SUPERVISAR AL SGBDR:

    a)a)a)a) Herramientas de supervisin y optimizacin del Herramientas de supervisin y optimizacin del Herramientas de supervisin y optimizacin del Herramientas de supervisin y optimizacin del rendimiento de SQL Serverrendimiento de SQL Serverrendimiento de SQL Serverrendimiento de SQL Server

    Microsoft SQL Server incluye un conjunto de herramientas para supervisar los eventos de SQL Server y para optimizar el diseo de la base de datos fsica. La eleccin de la herramienta depende del tipo de supervisin u optimizacin que se realice y de los eventos particulares que se supervisen.

    A continuacin se describen las herramientas de supervisin y optimizacin de SQL Server:

    Herramienta Descripcin

    Analizador de SQL Server

    El Analizador de SQL Server realiza un seguimiento de los eventos de procesos del motor, como el inicio de un lote o una transaccin, que permite supervisar la actividad del servidor y de la base de datos (por ejemplo, interbloqueos, errores graves o actividad de inicio de sesin). Puede capturar datos del Analizador de SQL Server en un archivo o una tabla de SQL Server para su anlisis posterior y tambin reproducir paso a paso los eventos capturados en SQL Server, para ver qu sucedi exactamente.

    Supervisar el uso de

    recursos (Monitor de

    sistema)

    La funcin principal del Monitor de sistema es hacer un seguimiento del uso de los recursos, como el nmero de solicitudes de pgina del administrador de bfer activas, que permite supervisar el rendimiento y actividad del servidor mediante objetos y contadores predefinidos o contadores definidos por el usuario para supervisar eventos. El Monitor de sistema (Monitor de rendimiento en Microsoft Windows NT 4.0) recopila contadores y porcentajes en lugar de datos acerca de los eventos (por ejemplo, uso de la memoria, nmero de

  • Ing. Metssy A.Ygnacio Garca

    10

    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.

    Monitor de actividad (SQL

    Server Management

    Studio)

    El Monitor de actividad de SQL Server Management Studio muestra informacin grfica acerca de:

    Los procesos que se ejecutan en una instancia de SQL Server.

    Los procesos bloqueados.

    Bloqueos.

    La actividad de los usuarios.

    Esto resulta til para vistas ad hoc de la actividad actual.

    Introduccin a Traza de SQL

    Procedimientos almacenados de Transact-SQL que crean, filtran y definen trazas:

    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

    El registro de sucesos de aplicacin de Windows proporciona una imagen global de los eventos que ocurren en todos los sistemas operativos Windows Server y Windows, as como de los eventos de SQL Server, el Agente SQL Server y la

  • Ing. Metssy A.Ygnacio Garca

    11

    bsqueda de texto. Contiene informacin acerca de los eventos de SQL Server que no est disponible en ningn otro lugar. Puede utilizar la informacin del registro de errores para solucionar problemas relacionados con SQL Server.

    Procedimientos almacenados del motor de

    base de datos (Transact-SQL)

    Los siguientes procedimientos almacenados del sistema de SQL Server suponen una alternativa muy eficaz para realizar muchas tareas de supervisin:

    sp_who (Transact-SQL)

    Notifica informacin de instantneas acerca de los usuarios y procesos actuales de SQL Server, incluida la informacin sobre la instruccin que se ejecuta actualmente y si la instruccin est bloqueada.

    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)

    Las instrucciones DBCC (Comandos de consola de base de datos) permiten comprobar las estadsticas de rendimiento y la coherencia lgica y fsica de una base de datos.

    Funciones (Transact-SQL)

    Las funciones integradas muestran estadsticas de instantneas acerca de la actividad de SQL Server desde el inicio del servidor; estas estadsticas se almacenan en contadores de SQL Server predefinidos. Por ejemplo, @@CPU_BUSY contiene el tiempo que la

  • Ing. Metssy A.Ygnacio Garca

    12

    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 Proporciona informacin acerca de

    SQLPERF

    Estadsticas desde la ltima vez que se inici el servidor. Puede establecerlas para reunir informacin acerca del uso del espacio del registro de transacciones en todas las bases de datos (LOGSPACE), la entrada y salida de disco (IOSTATS), el uso de memoria y cach (LRUSTATS), o la actividad de red (NETSTATS).

    CPU ha estado ejecutando cdigo de SQL Server, @@CONNECTIONS contiene el nmero de conexiones o intentos de conexiones de SQL Server y @@PACKET_ERRORS contiene el nmero de paquetes de red generados en conexiones de SQL Server.

    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

    El Asistente para la optimizacin de motor de base de datos analiza los efectos en el rendimiento de las instrucciones Transact-SQL ejecutadas en las bases de datos que desea optimizar. El Asistente para la optimizacin de motor de base de datos proporciona recomendaciones para agregar, quitar o modificar ndices, vistas indizadas y particiones.

  • Ing. Metssy A.Ygnacio Garca

    13

    OPENTRAN

    La transaccin activa ms antigua, as como las transacciones duplicadas distribuida y no distribuida ms antiguas, si las hay, en la base de datos especificada. Los resultados slo se muestran si hay una transaccin activa o si la base de datos contiene informacin de duplicacin.

    SHOW_STATISTICS

    Selectividad de un ndice, lo que supone la base para determinar si un ndice es til para el optimizador de consultas.

    CHECKDB Asignacin e integridad estructural de todos los objetos de una base de datos.

    CHECKFILEGROUP Asignacin e integridad estructural de todas las tablas del grupo de archivos.

    CHECKTABLE

    Integridad de las pginas de datos , ndice o de datos de tipo text , ntext o image de la base de datos especificada.

    Variables globales

    Puede utilizar las variables globales siguientes para obtener estadsticas especficas o informacin que pueda consultar.

    Variable global Objetivo

    @@connections

    Contiene el nmero de inicios de sesin o intentos de inicio de sesin desde la ltima vez que se inici SQL Server.

    @@error Contiene el nmero de error de la ltima instruccin de Transact-SQL ejecutada.

    @@spid Contiene el identificador de proceso de servidor del proceso de usuario actual. Puede usar este valor para

  • Ing. Metssy A.Ygnacio Garca

    14

    b)b)b)b) Herramientas de supervisin de Windows Herramientas de supervisin de Windows Herramientas de supervisin de Windows Herramientas de supervisin de Windows

    Los sistemas operativos Windows y Windows Server 2003 proporcionan adems estas herramientas de supervisin:

    Herramienta Descripcin

    Administrador de tareas

    Muestra una sinopsis de los procesos y las aplicaciones que se ejecutan en el

    sistema.

    Agente de supervisin de red Supervisa el trfico de red.

    Visor de sucesos de Windows 2000/2003

    Utilice el Visor de sucesos de Windows 2000 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/2003 permite ver los registros de sucesos descritos en la tabla siguiente.

    Tipo Descripcin

    Registro de aplicacin de Windows

    Contiene los sucesos que registran las aplicaciones, como SQL Server. Por ejemplo, una aplicacin de base de datos podra anotar un error de archivo en el registro de aplicacin.

    Registro de sistema de Windows Contiene sucesos que registran los componentes de sistema de Windows. Por

    identificar el proceso de usuario actual en la salida de sp_who .

    @@procid Contiene el identificador de procedimiento almacenado del procedimiento actual.

  • Ing. Metssy A.Ygnacio Garca

    15

    ejemplo, un error al cargar un controlador u otro componente del sistema durante el inicio del equipo se anotar en el registro de sistema.

    Registro de seguridad de Windows

    Registra los sucesos de seguridad de Windows, como los intentos de iniciar una sesin en el sistema.

    Monitor de sistema de Windows con SQL Server

    Al supervisar SQL Server y el sistema operativo Microsoft Windows para investigar problemas relacionados con el rendimiento, hay tres reas principales en las que debe concentrarse inicialmente:

    Actividad del disco

    Uso del procesador

    Uso de la memoria

    Puede resultar til supervisar el sistema operativo Windows y los contadores de SQL Server al mismo tiempo para determinar las posibles correlaciones entre el rendimiento de SQL Server y el de Windows. Por ejemplo, la supervisin simultnea de los contadores de E/S de disco de Windows y los contadores del Administrador de bfer de SQL Server puede mostrar el comportamiento del sistema en su totalidad.

    La supervisin de un equipo en el que se ejecuta el Monitor de sistema puede afectar un poco al rendimiento del equipo. Por tanto, registre los datos del Monitor de sistema en otro disco o en otro equipo para reducir as el efecto en el equipo que est supervisando, o bien ejecute el Monitor de sistema desde un equipo remoto. Supervise slo los contadores en los que est interesado. Si supervisa demasiados contadores, la sobrecarga de uso de los recursos se agrega al proceso de supervisin y afecta al rendimiento del equipo que se est supervisando.

    El Monitor de sistema permite obtener estadsticas sobre la actividad y el rendimiento actuales de SQL Server. Con el Monitor de sistema, puede:

    Ver simultneamente datos de cualquier nmero de equipos.

  • Ing. Metssy A.Ygnacio Garca

    16

    Ver y cambiar grficos para reflejar la actividad actual y mostrar valores de contadores que se actualizan con la frecuencia definida por el usuario.

    Exportar datos desde grficos, registros, registros de alertas e informes a aplicaciones de hoja de clculo o de base de datos para manipularlos e imprimirlos.

    Agregar alertas del sistema que muestran un evento en el registro de alertas y que pueden notificarse mediante una alerta de red.

    Ejecutar un programa predefinido la primera vez, o todas las veces, que el valor de un contador sea superior o inferior a un valor definido por el usuario.

    Crear archivos de registro que contengan datos relativos a diversos objetos de equipos diferentes.

    Anexar a un archivo secciones seleccionadas de otros archivos de registro existentes para crear un archivo de almacenamiento a largo plazo.

    Ver informes de la actividad actual o crear informes a partir de archivos de registro existentes.

    Guardar la configuracin de grficos, alertas, registros o informes individuales, o bien de toda el rea de trabajo, para volverla a utilizar.

    Elegir una herramienta de supervisin

    La eleccin de la herramienta de supervisin depende del evento o de la actividad que se va a supervisar.

    Evento o actividad

    Analizador de SQL Server

    Monitor de sistema

    Monitor de actividad

    Transact-SQL

    Registros de errores

    Anlisis de tendencias

    S S

    Reproduccin de los eventos capturados

    S

    Supervisin ad hoc

    S S S S

    Generacin de alertas

    S

  • Ing. Metssy A.Ygnacio Garca

    17

    Interfaz grfica S S S S

    Uso en aplicaciones

    personalizadas S1 S

    4. 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.

    a)a)a)a) Supervisin del uso de la memoriaSupervisin del uso de la memoriaSupervisin del uso de la memoriaSupervisin del uso de la memoria

    SQL Server requiere memoria para necesidades de memoria esttica (sobrecarga del ncleo, objetos abiertos y bloqueos) as como para la cach de datos, tambin llamada cach del bfer).

    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,

    1 Mediante procedimientos almacenados del sistema del Analizador de SQL Server.

  • Ing. Metssy A.Ygnacio Garca

    18

    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.

    Si varias instancias de SQL Server se ejecutan en el mismo equipo, cada una utilizar de forma independiente el algoritmo estndar de administracin de memoria dinmica.

    Supervisin del uso de los archivos de paginacin y la memoria

    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

    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

    Un nmero alto en este contador indica un exceso de paginacin e hiperpaginacin en disco. Compruebe si SQL Server u otro

  • Ing. Metssy A.Ygnacio Garca

    19

    de dichos procesos proceso provoca el exceso de paginacin.

    b)b)b)b) Supervisin del uso de procesador y subprocesosSupervisin del uso de procesador y subprocesosSupervisin del uso de procesador y subprocesosSupervisin 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

  • Ing. Metssy A.Ygnacio Garca

    20

    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.

    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 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:

    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.

  • Ing. Metssy A.Ygnacio Garca

    21

    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 Descripcin Pautas

    Procesador: % de tiempo de procesador

    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.

    Sistema: Cambios de

    contexto/Seg.

    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.

    Sistema: Longitud de

    cola de procesador

    Supervisa el nmero de subprocesos a la

    espera de utilizar el tiempo de procesador

    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

  • Ing. Metssy A.Ygnacio Garca

    22

    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

    Puede indicar que otros procesos o aplicaciones

    estn ejecutando e impidiendo operaciones

    de SQL Server.

    c)c)c)c) Supervisin de la entrada y salida en el disco duroSupervisin de la entrada y salida en el disco duroSupervisin de la entrada y salida en el disco duroSupervisin de la entrada y salida en el disco duro

    SQL Server usa llamadas de entrada y salida (E/S) de Windows 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

  • Ing. Metssy A.Ygnacio Garca

    23

    cinta, unidades de CD-ROM 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

    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.

    Disco fsico: Lecturas de disco/seg.

    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.

    Disco fsico: Escritura de disco/seg.

    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.

  • Ing. Metssy A.Ygnacio Garca

    24

    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.

    d)d)d)d) Supervisin de bloqueosSupervisin de bloqueosSupervisin de bloqueosSupervisin 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

    25

    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 SQL Server Management Studio para administrar el bloqueo.

    e)e)e)e) Supervisin de consultas de bajo rendimientoSupervisin de consultas de bajo rendimientoSupervisin de consultas de bajo rendimientoSupervisin 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

  • Ing. Metssy A.Ygnacio Garca

    26

    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.

    Consultas de Transact-SQL que transfieren una gran cantidad de datos entre el cliente y el servidor.

    Memoria insuficiente para SQL Server.

    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.

  • Ing. Metssy A.Ygnacio Garca

    27

    1. Utilizar el monitor de sistema de Windows para monitorear la actividad del disco, el uso del procesador y el uso de la memoria

    2. Utilizar el monitor de actividades de SQL Server para monitorear las actividades de los usuarios de las bases de datos

    En este captulo se abarcaron temas acerca de la importancia de la

    supervisin y los factores que afectan al rendimiento. Tambin como desarrollar un plan para optimizar el rendimiento de SQL Server.

    La supervisin de un sistema puede ser una tarea compleja. Por ello,

    puede utilizar diferentes estrategias para plantear la optimizacin del rendimiento del sistema.

    [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] Date, C. J. An introduction to Database Systems. 8 edition. Pearson Addison Wesley. 2004.

    Bibliografa electrnica:

    Administracin de Archivos de bases de datos

  • Ing. Metssy A.Ygnacio Garca

    28

    http://www.mygnet.net/manuales/sqlserver//administracion_de_archivos_de_base_de_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

    En la siguiente unidad temtica detallaremos aspectos relacionados a la automatizacin de tareas administrativas

  • Ing. Metssy A.Ygnacio Garca

    29

    ADMINISTRACION DE BASES DE DATOSADMINISTRACION DE BASES DE DATOSADMINISTRACION DE BASES DE DATOSADMINISTRACION DE BASES DE DATOS

    UNIDAD ACADMICA N 6UNIDAD ACADMICA N 6UNIDAD ACADMICA N 6UNIDAD ACADMICA N 6 NOMBRE:__________________________________________________________________

    APELLIDOS:________________________________________FECHA; ____/_____/______

    CIUDAD:_______________________________SEMESTRE:_________________________ 1. Mencione algunas razones que sustenten la necesidad de supervisar la base de datos

    ____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

    2. Qu herramientas pueden utilizarse para el monitoreo de base de datos? ____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

    3. Qu aspectos son necesarios monitorear para asegurar un buen rendimiento de la

    base de datos? ____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

    4. Qu debe tomarse en cuenta para obtener un ptimo rendimiento del procesador?

    ____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

    5. Qu debe tomarse en cuenta para obtener un ptimo rendimiento de la memoria?

    ____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________