64333_dsCapacityPlanning

78
Capacity planning Capacity planning Entendiendo y caracterizando la carga de trabajo Entendiendo y caracterizando la carga de trabajo Benchmarcks Benchmarcks Modelos de Modelos de desempeño desempeño a nivel de sistemas a nivel de sistemas Modelos de Modelos de desempeño desempeño a nivel de componenetes a nivel de componenetes Modelos de desempeño Web Modelos de desempeño Web Andrés H. Águila Gaete

description

capacity planning

Transcript of 64333_dsCapacityPlanning

Page 1: 64333_dsCapacityPlanning

Capacity planningCapacity planningEntendiendo y caracterizando la carga de trabajoEntendiendo y caracterizando la carga de trabajo

BenchmarcksBenchmarcksModelos de Modelos de desempeño desempeño a nivel de sistemasa nivel de sistemas

Modelos de Modelos de desempeño desempeño a nivel de componenetesa nivel de componenetesModelos de desempeño WebModelos de desempeño Web

Andrés H. Águila Gaete

Page 2: 64333_dsCapacityPlanning

Entendiendo y Entendiendo y caracterizando la caracterizando la carga de trabajo carga de trabajo

(Workload)(Workload)

Page 3: 64333_dsCapacityPlanning

IntroducciónIntroducciónEl funcionamiento de un sistema distribuido con muchos El funcionamiento de un sistema distribuido con muchos clientes, servidores y redes dependen fuertemente en las clientes, servidores y redes dependen fuertemente en las características de su carga. Así, el primer paso en algún características de su carga. Así, el primer paso en algún estudio de evaluación de funcionamiento debe entender y estudio de evaluación de funcionamiento debe entender y caracterizar la carga de trabajo.caracterizar la carga de trabajo.

La carga de trabajo de un sistema puede ser definido como un La carga de trabajo de un sistema puede ser definido como un conjunto de todas las entradas que el sistema recibe de su conjunto de todas las entradas que el sistema recibe de su ambiente durante algún periodo de tiempoambiente durante algún periodo de tiempo

Uno debe construir un modelo de Workload que capture las Uno debe construir un modelo de Workload que capture las características más relevantes (tiempo de llegada y características más relevantes (tiempo de llegada y terminación, tiempo de cpu, Nº de operaciones I/O, etc.).terminación, tiempo de cpu, Nº de operaciones I/O, etc.).

Page 4: 64333_dsCapacityPlanning

IntroducciónIntroducciónLos modelos de carga de trabajo (Workload) exponen Los modelos de carga de trabajo (Workload) exponen varias ventajas sobre cargas de trabajo actual o varias ventajas sobre cargas de trabajo actual o rastros. Es posible cambiar parámetros del modelo rastros. Es posible cambiar parámetros del modelo para reflejar cambios del sistema o en el actual para reflejar cambios del sistema o en el actual Workload.Workload.

Las características y parámetros que describirán la Las características y parámetros que describirán la carga de trabajo depende del objetivo del estudio. carga de trabajo depende del objetivo del estudio.

Por ejemplo; si uno quiere estudiar el costo-beneficio Por ejemplo; si uno quiere estudiar el costo-beneficio para crear un servidor Proxy para un sitio Web, para crear un servidor Proxy para un sitio Web, entonces las características de carga de trabajo entonces las características de carga de trabajo necesarias para el estudio son las frecuencias de necesarias para el estudio son las frecuencias de referencia de documentos, concentración de referencia de documentos, concentración de referencias, tamaño de documentos y tiempos de referencias, tamaño de documentos y tiempos de interreferencia.interreferencia.

Page 5: 64333_dsCapacityPlanning

CaracterizaciónCaracterizaciónLos pasos comunes para seguir cualquier proyecto de Los pasos comunes para seguir cualquier proyecto de caracterización de carga de trabajo incluyen:caracterización de carga de trabajo incluyen:

1.1. La especificación de un punto de vista de lo cual la carga de La especificación de un punto de vista de lo cual la carga de trabajo será analizada.trabajo será analizada.

2.2. Determinar del conjunto de parámetros que capturan las Determinar del conjunto de parámetros que capturan las características más relevantes de la carga de trabajo para el características más relevantes de la carga de trabajo para el objetivo del estudio.objetivo del estudio.

3.3. Supervisión del sistema para obtener los datos de funcionamiento Supervisión del sistema para obtener los datos de funcionamiento crudo.crudo.

4.4. Análisis y reducción de datos de funcionamiento.Análisis y reducción de datos de funcionamiento.5.5. Construcción de un modelo de carga de trabajo.Construcción de un modelo de carga de trabajo.6.6. La verificación que la caracterización captura toda la información La verificación que la caracterización captura toda la información

de funcionamiento importante. de funcionamiento importante.

Page 6: 64333_dsCapacityPlanning

Caracterización de Caracterización de procesos de Workloadprocesos de Workload

Actual Workload

abstracción

Caracterización de procesos

Modeloworkload

Planificación de la capacidad

Page 7: 64333_dsCapacityPlanning

Los niveles de descripción Los niveles de descripción de trabajode trabajo

Modelo de

negocio

Modelofuncional

Modelo de

recursos

Característicasdel negocio

Programas, aplicaciones y funciones

ArquitecturaDel sitio

y demanda de servicios

Vista denegocios

Vista Tecnológica

Métrica Externa

Métrica Interna

descriptores

Page 8: 64333_dsCapacityPlanning

Modelo de Modelo de WorkloadWorkload

un modelo workload es una representación que imita el un modelo workload es una representación que imita el workload real bajo estudio. El modelo debe ser representativo workload real bajo estudio. El modelo debe ser representativo y compacto.y compacto.

Los modelos Workload pueden ser clasificados en dos Los modelos Workload pueden ser clasificados en dos categorías, de acuerdo con la forma en que se construyó:categorías, de acuerdo con la forma en que se construyó:

Modelos naturales: se construyen usando componentes básicos del Modelos naturales: se construyen usando componentes básicos del workload como construcción de bloques o el uso de la ejecución de workload como construcción de bloques o el uso de la ejecución de las trazas del workload real.las trazas del workload real.

Modelos artificiales: no hace uso de cualquier componente básico o Modelos artificiales: no hace uso de cualquier componente básico o del trabajo real. Se clasifican en ejecutables y no ejecutables. del trabajo real. Se clasifican en ejecutables y no ejecutables.

Page 9: 64333_dsCapacityPlanning

Una Metodología de Una Metodología de caracterización de caracterización de

WorkloadWorkloadEs necesario mencionar los pasos necesarios para construir Es necesario mencionar los pasos necesarios para construir un modelo Workload para ser utilizado como insumo para un modelo Workload para ser utilizado como insumo para construir modelos analíticos. Nuestro enfoque se centra en construir modelos analíticos. Nuestro enfoque se centra en los recursos orientados a la caracterización del Workload.los recursos orientados a la caracterización del Workload.

1.1. Elección de un punto de vista de análisis.Elección de un punto de vista de análisis.2.2. Identificación de los componentes básicos.Identificación de los componentes básicos.3.3. Elección de la caracterización de parámetrosElección de la caracterización de parámetros4.4. Colección de datosColección de datos5.5. Particionando el WorkloadParticionando el Workload

Utilización de recursosUtilización de recursos AplicacionesAplicaciones ObjetosObjetos Orientación geográficaOrientación geográfica FuncionalFuncional Unidades de organizaciónUnidades de organización Modalidasdes (interactiva, transacción, continua)Modalidasdes (interactiva, transacción, continua)

6.6. Cálculo de parámetros de clase Cálculo de parámetros de clase PromedioPromedio ClusteringClustering

Análisis de datosAnálisis de datos Medidas de distanciaMedidas de distancia Ampliación de técnicasAmpliación de técnicas Algoritmos de clustering Algoritmos de clustering

Page 10: 64333_dsCapacityPlanning

Web WorkloadsWeb WorkloadsHay un cuerpo significativo de trabajo sobre la caracterización Hay un cuerpo significativo de trabajo sobre la caracterización del workload del tráfico web. Unas de las características del workload del tráfico web. Unas de las características consideradas tratan con distribuciones de tamaño de archivo, consideradas tratan con distribuciones de tamaño de archivo, distribución de popularidad de archivo, autosemejanza en distribución de popularidad de archivo, autosemejanza en trafico Web, lugar de referencia, y solicitud de usuarios y trafico Web, lugar de referencia, y solicitud de usuarios y patrones.patrones.

Además del estudio de la metodología de caracterización del Además del estudio de la metodología de caracterización del workload, es importante revisar algunas propiedades workload, es importante revisar algunas propiedades encontradas en el análisis del actual trafico Web. Es decir, la encontradas en el análisis del actual trafico Web. Es decir, la presencia del poder ley y la naturaleza de las ráfagas del presencia del poder ley y la naturaleza de las ráfagas del tráfico.tráfico.

Page 11: 64333_dsCapacityPlanning

Power-LawsPower-LawsSon expresiones de la forma y*Son expresiones de la forma y*λλx^ x^ λλ donde donde λλ es una constante es una constante y “x” e “y” son las medidas de interés. Se ha demostrado que y “x” e “y” son las medidas de interés. Se ha demostrado que estas “power-laws” pueden ser usadas para describir estas “power-laws” pueden ser usadas para describir propiedades de la topología de Internet.propiedades de la topología de Internet.

Otra power-law es Zipf’s Law que es la relación entre la Otra power-law es Zipf’s Law que es la relación entre la frecuencia de ocurrencia de un evento y su rango, cuando los frecuencia de ocurrencia de un evento y su rango, cuando los eventos se clasifican con respecto a la frecuencia de eventos se clasifican con respecto a la frecuencia de ocurrencia.ocurrencia.

Las distribuciones Power-Law se han observado en diversos Las distribuciones Power-Law se han observado en diversos aspectos de la web y puede ser utilizado para caracterizar el aspectos de la web y puede ser utilizado para caracterizar el comportamiento de los usuarios.comportamiento de los usuarios.

Page 12: 64333_dsCapacityPlanning

Ráfagas de Ráfagas de WorkloadsWorkloads

Lo principal e este punto es aquella autosemejanza de tráfico Lo principal e este punto es aquella autosemejanza de tráfico de red implica “burtiness” (ráfagas) en varias escalas de de red implica “burtiness” (ráfagas) en varias escalas de tiempo. Y las ráfagas tienen un impacto fuerte sobre el tiempo. Y las ráfagas tienen un impacto fuerte sobre el funcionamiento de sistema conectado a una red.funcionamiento de sistema conectado a una red.

¿Cómo podemos representar “burtiness” en la caracterización ¿Cómo podemos representar “burtiness” en la caracterización del Workload?del Workload?

Burtiness es un período de observación dado puede ser Burtiness es un período de observación dado puede ser representado por un par de parámetros, (a, b). El parámetro “a” es representado por un par de parámetros, (a, b). El parámetro “a” es el radio entre la tarifa de petición máxima observada y la tarifa de el radio entre la tarifa de petición máxima observada y la tarifa de petición media durante el período de observación. El parámetro "b" petición media durante el período de observación. El parámetro "b" es la fracción de tiempo durante el cual la tarifa de llegada es la fracción de tiempo durante el cual la tarifa de llegada instantánea excede la tarifa de llegada mediainstantánea excede la tarifa de llegada media

Page 13: 64333_dsCapacityPlanning

Benchmarck y Benchmarck y pruebas de pruebas de DesempeñoDesempeño

Page 14: 64333_dsCapacityPlanning

IntroducciónIntroducción La mejor forma de medir el desempeño de La mejor forma de medir el desempeño de

una sistema es hacerlo correr y medir el una sistema es hacerlo correr y medir el resultado.resultado.

Benchmark consiste en hacer correr un Benchmark consiste en hacer correr un grupo de programas en computadoras y grupo de programas en computadoras y redes.redes.

Las pruebas de desempeño sirven para Las pruebas de desempeño sirven para medir el desempeño de los sistemas bajo medir el desempeño de los sistemas bajo condiciones especificas.condiciones especificas.

Page 15: 64333_dsCapacityPlanning

La naturaleza de La naturaleza de los benchmarckslos benchmarcks

Tiempo y velocidad son las mediciones Tiempo y velocidad son las mediciones básicas.básicas.

A los usuarios les interesa el tiempo de A los usuarios les interesa el tiempo de respuesta.respuesta.

A los administradores les interesa la A los administradores les interesa la velocidad.velocidad.

A ambos les interesa el costo.A ambos les interesa el costo.

Page 16: 64333_dsCapacityPlanning

Arquitectura de los Arquitectura de los benchmarksbenchmarks

Existen 2 categorías de benchmarks:Existen 2 categorías de benchmarks:1.1. Bajo nivel: Miden directamente el rendimiento de Bajo nivel: Miden directamente el rendimiento de

los componentes.los componentes.2.2. Alto nivel: Miden el rendimiento de la combinación Alto nivel: Miden el rendimiento de la combinación

componente/controlador/SO.componente/controlador/SO. Hay 4 niveles de benchmarks.Hay 4 niveles de benchmarks.

1.1. Operaciones Básicas.Operaciones Básicas.2.2. Benchmarks de juegos.Benchmarks de juegos.3.3. Kernels.Kernels.4.4. Programas Reales.Programas Reales.

Page 17: 64333_dsCapacityPlanning

Arquitectura de los benchmarksArquitectura de los benchmarks

Operaciones Básicas

Juegos de benchmarks

KernelsProgramas reales

Sistema

Mediciones de Desempeño

Page 18: 64333_dsCapacityPlanning

Arquitectura de los Arquitectura de los benchmarksbenchmarks

En el 1º nivel se realizan solo operaciones En el 1º nivel se realizan solo operaciones básicas (suma y multiplicaciones).básicas (suma y multiplicaciones).

En el 2º nivel se ejecutan programas que En el 2º nivel se ejecutan programas que realizan puzzles clásicos (torres de Hanoi).realizan puzzles clásicos (torres de Hanoi).

En el 3º nivel se ejecutan fragmentos de En el 3º nivel se ejecutan fragmentos de código de programas reales.código de programas reales.

En el 4º nivel se ejecutan programas reales.En el 4º nivel se ejecutan programas reales.

Page 19: 64333_dsCapacityPlanning

Evitando fallasEvitando fallas Se deben conocer el sistema donde se están Se deben conocer el sistema donde se están

ejecutando las pruebas (procesador, ejecutando las pruebas (procesador, memorias, red, etc.).memorias, red, etc.).

Para evitar fallas, uno se debe hacer Para evitar fallas, uno se debe hacer preguntas como:preguntas como:

¿tiene las pruebas una configuración similar ¿tiene las pruebas una configuración similar al sistema actual?al sistema actual?¿Qué tan representativa es la carga de ¿Qué tan representativa es la carga de trabajo con los test de benchmarks?trabajo con los test de benchmarks?

Page 20: 64333_dsCapacityPlanning

Benchmarks mas Benchmarks mas comunescomunes

Varios test de benchmarks puedes ser usados Varios test de benchmarks puedes ser usados para evaluar una amplia variedad de sistemas.para evaluar una amplia variedad de sistemas.

Un test de benchmarks debe tener las Un test de benchmarks debe tener las siguientes características:siguientes características:

RelevanciaRelevanciaEntendibleEntendibleEscalableEscalableAceptableAceptable

Page 21: 64333_dsCapacityPlanning

Benchmarks mas Benchmarks mas comunescomunes

Existen 2 consorcios que ofrecen benchmarks Existen 2 consorcios que ofrecen benchmarks usados para comparar sistemas:usados para comparar sistemas:

System Performance Evaluation Corporation System Performance Evaluation Corporation (SPEC)(SPEC)

Transaction Processing Performance Council Transaction Processing Performance Council (TPC)(TPC)

Page 22: 64333_dsCapacityPlanning

Ejemplo CINT2000Ejemplo CINT2000 Consta de 12 programas:Consta de 12 programas:

1 164.gzip compresión

2 175.Vrp Direccionamiento y ubicación de circuitos FPGA

3 176.gcc Compilador C

4 181.mcf Resolutor de costo mínimo de flujo de red

5 186.crafty Programa de ajedrez

6 197.parser Procesamiento de lenguaje natural

7 252.eon visualización

8 253.perlbmk Perl

9 254.gap Teoría de grupo computacional

10 255.vortex Base de datos orientada a objetos

11 256.bzip2 Compresión

12 300.twolf Simulador de ubicación y ruteo

Page 23: 64333_dsCapacityPlanning

CFP2000CFP2000 Consta de 14 programas:Consta de 14 programas:1 168.Wupwise Cromodinámica de cuantos

2 171.swim Modelado de aguas poco profundas

3 172.mgrid Resolutor de multi-grilla en campos potenciales 3D

4 173.applu Ecuaciones diferenciales parciales parabólicas/elípticas

5 177.mesa Librería de gráficos 3D

6 178.galgel Dinámica de fluidos: análisis de inestabilidad oscilatoria

7 179.art Simulación de red neuronal: teoría de la resonancia adaptativa

8 183.equake Simulación de elementos finitos: modelado de terremotos

9 187.facerec Reconocimientos de imágenes: reconocimiento de rostros

10 188.ammp Química computacional

11 189.lucas Teoría de los números: prueba de primalidad

12 191.fma3d Simulación de elementos finitos en choque

13 200.sixtrack Modelo de acelerador de partículas

14 301.apsi Resolutor de problemas de temperatura, viento y distribución de contaminantes

Page 24: 64333_dsCapacityPlanning

http://www.spec.org/cpu2000/results/

Page 25: 64333_dsCapacityPlanning

Benchmark a Benchmark a servidores Webservidores Web

Estos Benchmark son llevado a cabo en Estos Benchmark son llevado a cabo en pequeñas redes, sin perdidas de datospequeñas redes, sin perdidas de datos

Se describirán 2 benchmark WebSe describirán 2 benchmark Web1.1. SpecwebSpecweb2.2. WebstoreWebstore

Page 26: 64333_dsCapacityPlanning

SpecwebSpecweb Mide el máximo de conexiones simultaneas, Mide el máximo de conexiones simultaneas,

soportadas por un servidor Web.soportadas por un servidor Web. Se usan 1 o mas clientes para generar Se usan 1 o mas clientes para generar

peticiones HTTP a un servidor.peticiones HTTP a un servidor. Cada cliente valida la información recibida por Cada cliente valida la información recibida por

el servidor.el servidor. Al finalizar la prueba un cliente recolecta toda Al finalizar la prueba un cliente recolecta toda

la información y calcula los resultados.la información y calcula los resultados.

Page 27: 64333_dsCapacityPlanning

Resultado prueba Specweb

http://www.spec.org/web99/results/

Page 28: 64333_dsCapacityPlanning

WebStoneWebStone Es un benchmark configurable para generar Es un benchmark configurable para generar

trafico HTTPtrafico HTTP Esta diseñado para medir el máximo Esta diseñado para medir el máximo

desempeño y el tiempo de respuesta de la desempeño y el tiempo de respuesta de la conexiónconexión

Es un benchmark distribuido y multiproceso, Es un benchmark distribuido y multiproceso, compuesto de un maestro y varios procesos compuesto de un maestro y varios procesos clientes.clientes.

Page 29: 64333_dsCapacityPlanning

WebStoneWebStone Los parámetros configurables son:Los parámetros configurables son:

Numero de clientesNumero de clientesTipos de archivo, tamaño y frecuencia de Tipos de archivo, tamaño y frecuencia de accesoaccesoNumero de paginas disponiblesNumero de paginas disponiblesNumero de maquinas clientesNumero de maquinas clientes

Page 30: 64333_dsCapacityPlanning

Benchmarck de Benchmarck de SistemasSistemas

Estos benchmark miden el sistema completo Estos benchmark miden el sistema completo (procesador, red, I/O, etc.)(procesador, red, I/O, etc.)

Existen 4 benchmark tpcExisten 4 benchmark tpc1.1. Tcp-cTcp-c2.2. Tcp-hTcp-h3.3. Tcp-rTcp-r4.4. Tcp-wTcp-w

Page 31: 64333_dsCapacityPlanning

TCP-CTCP-C Es un standard para sistemas de procesos de Es un standard para sistemas de procesos de

transacciones en líneatransacciones en línea Consiste de 5 transacciones (con update, insert y Consiste de 5 transacciones (con update, insert y

delete):delete):1.1. Nueva ordenNueva orden 45%45%2.2. PagoPago 43%43%3.3. EntregaEntrega 4%4%4.4. Estado de la ordenEstado de la orden 4%4%5.5. Nivel de stockNivel de stock 4%4%

Page 32: 64333_dsCapacityPlanning

TPC-CTPC-C

Para el TPC-C el desempeño es el máximo Para el TPC-C el desempeño es el máximo numero de “nueva orden” por minuto que puede numero de “nueva orden” por minuto que puede ejecutar el sistema mientras ejecuta las otras ejecutar el sistema mientras ejecuta las otras cuatro transacciones.cuatro transacciones.

Page 33: 64333_dsCapacityPlanning

TPC-C ResultadosTPC-C ResultadosCompañíaSistemaProcesosBDMSSistema OperativoMonitor de transaccionesCosto total del sistemaDesempeño TPC-CPrecio / Desempeño

XZ4

Microsoft SQLWindows XP

Microsoft COM+$US 445747

34600$US 12,89

Page 34: 64333_dsCapacityPlanning

TPC-H y TCP-RTPC-H y TCP-R TPC-H: Es un benchmarkTPC-H: Es un benchmark de soporte a la decisión. de soporte a la decisión.

Consta de un conjunto consultas (Consta de un conjunto consultas (queriesqueries) ) específicas, orientadas a la actividad comercial.específicas, orientadas a la actividad comercial.

TPC-R: es similar a TPC-R: es similar a TPC-H TPC-H pero permite pero permite optimizaciones adicionales basadas en el optimizaciones adicionales basadas en el conocimiento de las consultas.conocimiento de las consultas.

Se diferencian en las reglas de implementación , ya Se diferencian en las reglas de implementación , ya que mientras TPC-H limita el uso de índices y que mientras TPC-H limita el uso de índices y esquemas de particiones, TPC-R no limita el uso de esquemas de particiones, TPC-R no limita el uso de estas estructuras en la base de datos.estas estructuras en la base de datos.

Page 35: 64333_dsCapacityPlanning

TCP-WTCP-W La carga de trabajo se configura en un La carga de trabajo se configura en un

entorno de comercio que simula las entorno de comercio que simula las actividades de un servidor de actividades de un servidor de WEB WEB orientado a orientado a las transacciones comerciales.las transacciones comerciales.

El sistema provee características como El sistema provee características como búsqueda, detalle de productos, etc.búsqueda, detalle de productos, etc.

Cada producto tiene asociada una descripción Cada producto tiene asociada una descripción y una imagen de 5KB.y una imagen de 5KB.

Pueden existir 1000,10000,100000,1000000 o Pueden existir 1000,10000,100000,1000000 o 10000000 productos10000000 productos

Page 36: 64333_dsCapacityPlanning

TCP-WTCP-W El sitio debe mantener una base de datos El sitio debe mantener una base de datos

con información de los clientes, productos con información de los clientes, productos en el catalogo, ordenes y transacciones de en el catalogo, ordenes y transacciones de tarjeta de crédito.tarjeta de crédito.

Este Benchmarck clasifica las interacciones Este Benchmarck clasifica las interacciones en 2 tipos:en 2 tipos:1.1. NavegaciónNavegación2.2. OrdenOrden

Page 37: 64333_dsCapacityPlanning

TCP-WTCP-W Especifica 3 tipos de secciones:Especifica 3 tipos de secciones:

1.1. Navegación: Navegación: 95% navegación – 5% 95% navegación – 5% ordenorden

2.2. Compras: Compras: 80% navegación – 80% navegación – 20% orden20% orden

3.3. OrdenesOrdenes 50% navegación – 50% 50% navegación – 50% ordenorden

Tiene 2 métricas de desempeño:Tiene 2 métricas de desempeño:1.1. ProductividadProductividad2.2. Costo / productividadCosto / productividad

Page 38: 64333_dsCapacityPlanning

TPC-WTPC-W El desempeño se mide en WIPS y es el El desempeño se mide en WIPS y es el

número de transacciones completadas en 1 número de transacciones completadas en 1 segundo cuando la sección es de tipo segundo cuando la sección es de tipo comprascompras

Existen 2 métricas secundariasExisten 2 métricas secundarias1.1. WIPSbWIPSb2.2. WIPSoWIPSo

La métrica con respecto al costo se mide La métrica con respecto al costo se mide $/WIPS que relaciona el costo total del $/WIPS que relaciona el costo total del sistema con los WIPS.sistema con los WIPS.

Page 39: 64333_dsCapacityPlanning

TPC-W ResultadosTPC-W ResultadosCompañíaSistemaEscalaProcesosBDMSSistema OperativoServidor HTTPBalanceador de cargaIngeniería de BúsquedaCosto total del sistemaDesempeño TPC-WPrecio / Desempeño

XZ

100004

Microsoft SqlWindows XPWindows IIS

Microsoft Dns serverMicrosoft Sql server FT

search$US 211214

3130$US 67,50

Page 40: 64333_dsCapacityPlanning

Pruebas de Pruebas de DesempeñoDesempeño

El Principal propósito de ejecutar pruebas de El Principal propósito de ejecutar pruebas de desempeño es entender el desempeño bajo desempeño es entender el desempeño bajo cargas especificas de trabajocargas especificas de trabajo

Las pruebas de desempeño pueden ser usadas Las pruebas de desempeño pueden ser usadas en cualquier punto de la implementación del en cualquier punto de la implementación del sistema.sistema.

Las pruebas deben ser planeadas con tiempo, Las pruebas deben ser planeadas con tiempo, para no perder tiempo si se descubren fallas para no perder tiempo si se descubren fallas cuando es implementada.cuando es implementada.

Page 41: 64333_dsCapacityPlanning

Tipos de Pruebas de Tipos de Pruebas de desempeñodesempeño

Existen 3 tipos de pruebas caracterizadas Existen 3 tipos de pruebas caracterizadas por la intensidad de la carga generadapor la intensidad de la carga generada1.1. Prueba de cargaPrueba de carga2.2. Prueba de StressPrueba de Stress3.3. Pruebas de PuntaPruebas de Punta

Page 42: 64333_dsCapacityPlanning

Metodología para la prueba de Metodología para la prueba de desarrollodesarrollo

Definir los objetivos de la prueba

Entender el ambiente

Especificar el plan

Definir la carga de trabajo

Configurar el ambiente

Ejecutar la prueba

Analizar los resultados

Page 43: 64333_dsCapacityPlanning

Modelos de Modelos de desempeño desempeño a nivel de a nivel de

sistemassistemas

Page 44: 64333_dsCapacityPlanning

IntroducciónIntroducción

Es desarrollado en distintos niveles.Es desarrollado en distintos niveles.Es modelado como una caja negra.Es modelado como una caja negra.Los detalles internos no son modelados explícitamente.Los detalles internos no son modelados explícitamente.Solo se considera la función de throughput.Solo se considera la función de throughput.

Page 45: 64333_dsCapacityPlanning

Modelo simple servidor cola Modelo simple servidor cola infinitainfinita

Se considera un servidor Web accesible por una gran Se considera un servidor Web accesible por una gran cantidad de personas. (Población)cantidad de personas. (Población)Empresas con varios servidores.Empresas con varios servidores.Para mayor simplicidad – carga balanceada.Para mayor simplicidad – carga balanceada.Tasa de llegada de Tasa de llegada de peticiones/sec. peticiones/sec.No se rechaza ninguna petición.No se rechaza ninguna petición.Flow in = Flow out.Flow in = Flow out.

Page 46: 64333_dsCapacityPlanning

Modelo simple servidor cola Modelo simple servidor cola infinitainfinita

Page 47: 64333_dsCapacityPlanning

Modelo simple de servidor Modelo simple de servidor Cola FinitaCola Finita

Existen W peticiones rechazadas.Existen W peticiones rechazadas.

Page 48: 64333_dsCapacityPlanning

Modelo simple de servidor Modelo simple de servidor Cola FinitaCola Finita

Page 49: 64333_dsCapacityPlanning

Otros modelos a nivel de Otros modelos a nivel de sistemassistemas

Haciendo una generalización de los Haciendo una generalización de los modelos anteriores, aparecen nuevas modelos anteriores, aparecen nuevas alternativas, considerando 3 nuevas alternativas, considerando 3 nuevas dimensiones:dimensiones:

Tamaño de la poblaciónTamaño de la poblaciónRitmo de servicioRitmo de servicioTamaño máximo de la colaTamaño máximo de la cola

Page 50: 64333_dsCapacityPlanning

Modelo de Modelo de población infinitapoblación infinita

Son representados por ambientes WWW.Son representados por ambientes WWW.N de usuarios potencialmente largo.N de usuarios potencialmente largo.

Page 51: 64333_dsCapacityPlanning

Ritmo de servicio variable Ritmo de servicio variable con tamaño de cola infinita.con tamaño de cola infinita.

Page 52: 64333_dsCapacityPlanning

Ritmo de servicio variable y Ritmo de servicio variable y cola con tamaño limitadocola con tamaño limitadoPeticiones rechazadasPeticiones rechazadasCuidados especiales en su implementación.Cuidados especiales en su implementación.Fácil de producir overflows o underflows.Fácil de producir overflows o underflows.

Page 53: 64333_dsCapacityPlanning

Modelo de Modelo de población finitapoblación finita

Z = tiempo de pensamiento.Z = tiempo de pensamiento.La tasa promedio de peticiones generadas en el La tasa promedio de peticiones generadas en el sistema es representada por 1 / Z Pet/sec.sistema es representada por 1 / Z Pet/sec.

Page 54: 64333_dsCapacityPlanning

Ritmo fijo de servicio y cola Ritmo fijo de servicio y cola ilimitada.ilimitada.

Se considera que la velocidad de servicio del Se considera que la velocidad de servicio del servidor es fija.servidor es fija.M peticiones.M peticiones.Por lo general se utiliza para solucionar problemas Por lo general se utiliza para solucionar problemas matemáticos con grandes valores.matemáticos con grandes valores.Ej. 200!Ej. 200!

Page 55: 64333_dsCapacityPlanning

Modelo de rendimiento a Modelo de rendimiento a nivel de componentes , nivel de componentes ,

REPASO APLICADOREPASO APLICADO

Page 56: 64333_dsCapacityPlanning

IntroducciónIntroducción

Aquí se caracterizan por su función de Aquí se caracterizan por su función de throughput X(n), donde n representa la carga del throughput X(n), donde n representa la carga del sistema en términos del número de peticiones del sistema en términos del número de peticiones del sistema, y se denominan Qn.sistema, y se denominan Qn.

Page 57: 64333_dsCapacityPlanning

Red de gestión de Red de gestión de colascolas

Petición espera en la cola el uso de un recurso.Petición espera en la cola el uso de un recurso.S(n) tiempo promedio de servicio por petición. S(n) tiempo promedio de servicio por petición.

Page 58: 64333_dsCapacityPlanning

Red de gestión de colas clase Red de gestión de colas clase simplesimple

Ri = tiempo promedio de respuestaRi = tiempo promedio de respuesta i = colai = colaSi = tiempo promedio de servicio.Si = tiempo promedio de servicio.

El tiempo de respuesta promedio en una cola es El tiempo de respuesta promedio en una cola es igual al tiempo de servicio promedio más el tiempo igual al tiempo de servicio promedio más el tiempo de espera promedio de la solicitud.de espera promedio de la solicitud.El máximo valor de El máximo valor de es limitada por el recurso con el es limitada por el recurso con el valor más alto de demanda de servicio. (Cuello de valor más alto de demanda de servicio. (Cuello de botella de recurso).botella de recurso).

Page 59: 64333_dsCapacityPlanning

Red de gestión de colas Red de gestión de colas clase múltipleclase múltiple

Es una generalización del modelo anterior.Es una generalización del modelo anterior.Trabaja con vectores.Trabaja con vectores.

Page 60: 64333_dsCapacityPlanning

Modelos cerradosModelos cerrados

Existe un número limitado de peticiones en el Existe un número limitado de peticiones en el sistema.sistema.

Método para resolverlos es a través de MVA Método para resolverlos es a través de MVA (mean value analisis).(mean value analisis).

Page 61: 64333_dsCapacityPlanning

Modelo cerrado de Modelo cerrado de clase simpleclase simple

MVA esta basado sobre recursividad usando 3 MVA esta basado sobre recursividad usando 3 ecuaciones:ecuaciones:La ecuación de tiempo de residenciaLa ecuación de tiempo de residenciaLa ecuación de rendimientoLa ecuación de rendimientoLa ecuación de largo de cola.La ecuación de largo de cola.

Page 62: 64333_dsCapacityPlanning

Modelo cerrado Modelo cerrado clase múltiple.clase múltiple.

Similar al anteriorSimilar al anteriorExiste un número fijo de peticiones, Nr, por cada Existe un número fijo de peticiones, Nr, por cada clase en el sistema.clase en el sistema.Es representado por un vector intensidad de carga.Es representado por un vector intensidad de carga.

Page 63: 64333_dsCapacityPlanning

Modelamiento Modelamiento IntranetIntranet

Page 64: 64333_dsCapacityPlanning

Modelamiento Modelamiento IntranetIntranet

Es necesario modelar la red de gestión de colas de la intranet. Es necesario modelar la red de gestión de colas de la intranet. Para esto es necesario realizar los siguientes pasos.Para esto es necesario realizar los siguientes pasos.

1 - Decidir la meta del rendimiento del modelado. 1 - Decidir la meta del rendimiento del modelado.

2 - Decidir qué tipo de modelo, lo que es, abierto o cerrado, se van 2 - Decidir qué tipo de modelo, lo que es, abierto o cerrado, se van a utilizar. a utilizar.

3 - Determinar el número de clases del modelo y lo que 3 - Determinar el número de clases del modelo y lo que representan. representan.

4 - Decidir cómo los componentes del sistema serán asignadas en 4 - Decidir cómo los componentes del sistema serán asignadas en las colas y decidir sobre el tipo de colas se utilizan para las colas y decidir sobre el tipo de colas se utilizan para representar cada componente. representar cada componente.

5 - Calcular el servicio de las demandas de cada cola y cada clase. 5 - Calcular el servicio de las demandas de cada cola y cada clase.

6 - Determinar el número de solicitudes por clase de modelos 6 - Determinar el número de solicitudes por clase de modelos cerrados y la tasa media de solicitudes de modelos abiertos.cerrados y la tasa media de solicitudes de modelos abiertos.

Page 65: 64333_dsCapacityPlanning

Modelos de desempeño Modelos de desempeño WebWeb

•Caso especial de modelamiento:Caso especial de modelamiento:

Adición de nuevas características.Adición de nuevas características.Traffic burstiness.Traffic burstiness.Heavy-tails.Heavy-tails.

Modelos del lado del cliente.Modelos del lado del cliente.Modelos sin cache-proxy.Modelos sin cache-proxy.Modelos con cache-proxy.Modelos con cache-proxy.

Modelos del lado del servidor.Modelos del lado del servidor.Servidor únicoServidor únicoServidores redundantes.Servidores redundantes.

Page 66: 64333_dsCapacityPlanning

Modelos de desempeño Modelos de desempeño WebWeb

•Los servicios Web son un tipo especial de sistema Los servicios Web son un tipo especial de sistema distribuido y para plantear un modelo de desempeño distribuido y para plantear un modelo de desempeño

valido, se debe modificar para dar cabida a los nuevos valido, se debe modificar para dar cabida a los nuevos factores.factores.

Page 67: 64333_dsCapacityPlanning

Traffic burstinessTraffic burstiness

Se entiende “burst” como un flujo masivo de peticiones.Se entiende “burst” como un flujo masivo de peticiones.

Este torrente masivo de peticiones va generando una Este torrente masivo de peticiones va generando una congestión acumulativa en los recursos del sistema.congestión acumulativa en los recursos del sistema.

Considerar este parámetro, hace imperiosa la necesidad Considerar este parámetro, hace imperiosa la necesidad de modificar la demanda del servicio, el componente de modificar la demanda del servicio, el componente cuello de botella utilizando un cuello de botella utilizando un factor de burstiness.factor de burstiness.

Page 68: 64333_dsCapacityPlanning

Traffic burstinessTraffic burstiness•Calculo del factor de Calculo del factor de burstinessburstiness::

Utilizando un registro de peticiones HTTP con las Utilizando un registro de peticiones HTTP con las peticiones en un tiempo T, se calcula el promedio de peticiones en un tiempo T, se calcula el promedio de peticiones peticiones λλ..El tiempo T es dividido en n intervalos iguales y cada El tiempo T es dividido en n intervalos iguales y cada intervalo es llamado epoch (época).intervalo es llamado epoch (época).Luego se contabiliza el número de peticiones de epoca Luego se contabiliza el número de peticiones de epoca por sobre y bajo el promedio por sobre y bajo el promedio λ.λ.Finalmente, se divide el número de epocas que exceden Finalmente, se divide el número de epocas que exceden el promedio λ dividido por el número de epocas en total n.el promedio λ dividido por el número de epocas en total n.

Page 69: 64333_dsCapacityPlanning

Traffic burstingTraffic bursting

•El El throughputthroughput total del sistema disminuye si el factor de total del sistema disminuye si el factor de burstinessburstiness aumenta. aumenta.

•No toda la demanda de servicio esta sujeto al efecto del No toda la demanda de servicio esta sujeto al efecto del factor de factor de burstinessburstiness..

Page 70: 64333_dsCapacityPlanning

Heavy-tailsHeavy-tails

La necesidad de este modelo radica en que se espera que La necesidad de este modelo radica en que se espera que en un servicio Web exista un gran porcentaje de en un servicio Web exista un gran porcentaje de peticiones HTTP para documentos de pequeño tamaño y peticiones HTTP para documentos de pequeño tamaño y un menor porcentaje para documentos de gran tamaño, un menor porcentaje para documentos de gran tamaño, volviéndose estadísticamente poco significativo.volviéndose estadísticamente poco significativo.

El modelo de El modelo de heavy-tails heavy-tails lo soluciona utilizando un lo soluciona utilizando un modelo de red de colas multiclases asociadas al tamaño modelo de red de colas multiclases asociadas al tamaño del documento. El ritmo de peticiones se evalua por grupo del documento. El ritmo de peticiones se evalua por grupo de documentos.de documentos.

Page 71: 64333_dsCapacityPlanning

Modelos del lado del Modelos del lado del ClienteCliente

•Estos modelos se construyen con el objetivo de responder Estos modelos se construyen con el objetivo de responder preguntas tales como la ancho de banda que se necesita preguntas tales como la ancho de banda que se necesita para utilizar el servicio correctamente o si es mejor utilizar para utilizar el servicio correctamente o si es mejor utilizar un cache-proxy.un cache-proxy.

Page 72: 64333_dsCapacityPlanning

Modelos del lado del Modelos del lado del ClienteCliente

•Diagrama de red de cliente normal y con un proxy-cache Diagrama de red de cliente normal y con un proxy-cache como intermediario.como intermediario.

Page 73: 64333_dsCapacityPlanning

Modelos del lado del Modelos del lado del ClienteCliente

•Variantes del sistema de colas Qn normal y con cache-Variantes del sistema de colas Qn normal y con cache-proxy como intermediario.proxy como intermediario.

Page 74: 64333_dsCapacityPlanning

Modelos del lado del Modelos del lado del servidorservidor

•Estos modelos se construyen con el objetivo de responder Estos modelos se construyen con el objetivo de responder preguntas tales como cual debe ser el ancho de banda de preguntas tales como cual debe ser el ancho de banda de conexión a Internet para que el servicio Web sea de una conexión a Internet para que el servicio Web sea de una calidad aceptable, la compañía debería instalar servidores calidad aceptable, la compañía debería instalar servidores redundantes, si es así cuantos de ellos, si es recomendable redundantes, si es así cuantos de ellos, si es recomendable un cluster con muchos servidores de bajo rendimiento o si un cluster con muchos servidores de bajo rendimiento o si es recomendable unos pocos servidores de alto es recomendable unos pocos servidores de alto rendimiento, etc.rendimiento, etc.

Page 75: 64333_dsCapacityPlanning

Modelos del lado del Modelos del lado del servidorservidor

•Diagrama de modelos del lado del clienteDiagrama de modelos del lado del cliente•(a) servidor único (b) servidores espejo.(a) servidor único (b) servidores espejo.

Page 76: 64333_dsCapacityPlanning

Modelos del lado del Modelos del lado del servidorservidor

•Modelo de colas Qn enModelo de colas Qn en•(a) servidor único (b) servidores espejo.(a) servidor único (b) servidores espejo.

Page 77: 64333_dsCapacityPlanning

Modelo de servidor Modelo de servidor únicoúnico

•El modelo de colas cerrado Qn usado para un servidor El modelo de colas cerrado Qn usado para un servidor único se puede describir como:único se puede describir como:

•Cola 1 y 6: representa los links de entrada y salida del Cola 1 y 6: representa los links de entrada y salida del router a la conexión del ISP (se asume que la conexión es router a la conexión del ISP (se asume que la conexión es

full duplex).full duplex).•Delay 2: representa el router por su pequeña latencia Delay 2: representa el router por su pequeña latencia

comparada con los otros elementos.comparada con los otros elementos.•Cola 3: representa la LAN y es independiente de la carga.Cola 3: representa la LAN y es independiente de la carga.

•Cola 4: representa la CPU del servidor.Cola 4: representa la CPU del servidor.•Cola 5: representa el disco del servidor.Cola 5: representa el disco del servidor.

Page 78: 64333_dsCapacityPlanning

Modelo de servidor con Modelo de servidor con mirrorsmirrors

•El modelo de servidor con mirrors se diferencia del El modelo de servidor con mirrors se diferencia del servidor único principalmente en que la demanda de servidor único principalmente en que la demanda de

servicio de la CPU y discos se divide en n (asumiendo que servicio de la CPU y discos se divide en n (asumiendo que se balancea la carga equitativamente).se balancea la carga equitativamente).

•El tiempo promedio de servicio no cambia por el numero El tiempo promedio de servicio no cambia por el numero de servidores Web.de servidores Web.