Detectar Excesso de Demanda e Instanciar VM Webserver » History » Version 4
Beraldo Leal, 13 Mar 2012 16:25
| 1 | 1 | Beraldo Leal | h1. Detectar Excesso de Demanda e Instanciar VM Webserver |
|---|---|---|---|
| 2 | 1 | Beraldo Leal | |
| 3 | 1 | Beraldo Leal | h2. Implantação #501: Definir e configurar top treshold |
| 4 | 1 | Beraldo Leal | |
| 5 | 1 | Beraldo Leal | Atualmente para propósitos de demonstração o _educloud-mon_ está configurado com duas métricas: *web-cpu-usage* e *web-active-users*. |
| 6 | 1 | Beraldo Leal | |
| 7 | 1 | Beraldo Leal | Estas duas métricas se referem a uma média aritimética do uso de cpu ou usuários ativos do sistema como um todo (todos os hosts web servers). |
| 8 | 1 | Beraldo Leal | |
| 9 | 1 | Beraldo Leal | O parâmetro de configuração do _educloud-mon_ é o @top_threshold@ de cada métrica. Para saber quais valores estão configurados para @top_treshold@ veja o arquivo @educloud-mon.conf@. |
| 10 | 1 | Beraldo Leal | |
| 11 | 1 | Beraldo Leal | h2. Implantação #502: Configurar LVM para Obter Ganho de Performance na Instanciação de VMs |
| 12 | 1 | Beraldo Leal | |
| 13 | 1 | Beraldo Leal | A máquina osdc01 (200.145.46.197) é um repositório de imagens. Nele temos o seguinte layout de lvm: |
| 14 | 1 | Beraldo Leal | |
| 15 | 1 | Beraldo Leal | h3. Volumes físicos (Comando pvdisplay): |
| 16 | 1 | Beraldo Leal | |
| 17 | 1 | Beraldo Leal | <pre> |
| 18 | 1 | Beraldo Leal | --- Physical volume --- |
| 19 | 1 | Beraldo Leal | PV Name /dev/sda3 |
| 20 | 1 | Beraldo Leal | VG Name osdc1 |
| 21 | 1 | Beraldo Leal | PV Size 18.18 TiB / not usable 1.00 MiB |
| 22 | 1 | Beraldo Leal | Allocatable yes |
| 23 | 1 | Beraldo Leal | PE Size 4.00 MiB |
| 24 | 1 | Beraldo Leal | Total PE 4765714 |
| 25 | 1 | Beraldo Leal | Free PE 254883 |
| 26 | 1 | Beraldo Leal | Allocated PE 4510831 |
| 27 | 1 | Beraldo Leal | PV UUID L4yscI-w5r3-0IVh-FtxE-oGOJ-EtTM-5nBjt2 |
| 28 | 1 | Beraldo Leal | </pre> |
| 29 | 1 | Beraldo Leal | |
| 30 | 1 | Beraldo Leal | h3. Grupos (Comando vgdisplay): |
| 31 | 1 | Beraldo Leal | |
| 32 | 1 | Beraldo Leal | <pre> |
| 33 | 1 | Beraldo Leal | --- Volume group --- |
| 34 | 1 | Beraldo Leal | VG Name osdc1 |
| 35 | 1 | Beraldo Leal | System ID |
| 36 | 1 | Beraldo Leal | Format lvm2 |
| 37 | 1 | Beraldo Leal | Metadata Areas 1 |
| 38 | 1 | Beraldo Leal | Metadata Sequence No 276 |
| 39 | 1 | Beraldo Leal | VG Access read/write |
| 40 | 1 | Beraldo Leal | VG Status resizable |
| 41 | 1 | Beraldo Leal | MAX LV 0 |
| 42 | 1 | Beraldo Leal | Cur LV 9 |
| 43 | 1 | Beraldo Leal | Open LV 7 |
| 44 | 1 | Beraldo Leal | Max PV 0 |
| 45 | 1 | Beraldo Leal | Cur PV 1 |
| 46 | 1 | Beraldo Leal | Act PV 1 |
| 47 | 1 | Beraldo Leal | VG Size 18.18 TiB |
| 48 | 1 | Beraldo Leal | PE Size 4.00 MiB |
| 49 | 1 | Beraldo Leal | Total PE 4765714 |
| 50 | 1 | Beraldo Leal | Alloc PE / Size 4510831 / 17.21 TiB |
| 51 | 1 | Beraldo Leal | Free PE / Size 254883 / 995.64 GiB |
| 52 | 1 | Beraldo Leal | VG UUID 3oKaJb-HYqQ-cOZK-duiF-qGVR-5P9H-HcrWaa |
| 53 | 1 | Beraldo Leal | </pre> |
| 54 | 1 | Beraldo Leal | |
| 55 | 1 | Beraldo Leal | h3. Volumes Lógicos (Comando lvdisplay): |
| 56 | 1 | Beraldo Leal | |
| 57 | 1 | Beraldo Leal | Cada imagem está em um volume lógico e é exportado para as máquinas nós, via iSCSI. Para isso, elas usam o _transport manager_ iscsi desenvolvido pelo Marco. |
| 58 | 1 | Beraldo Leal | |
| 59 | 2 | Beraldo Leal | Para ver a lista de volumes lógicos (São muitos, dependendo das máquinas virtuais que estão em execução), por favor execute: |
| 60 | 1 | Beraldo Leal | |
| 61 | 1 | Beraldo Leal | |
| 62 | 1 | Beraldo Leal | <pre> |
| 63 | 1 | Beraldo Leal | lvdisplay |
| 64 | 1 | Beraldo Leal | </pre> |
| 65 | 3 | Beraldo Leal | |
| 66 | 3 | Beraldo Leal | h2. Implementação #503: Configurar Comando de Instanciação de VM, com Base no Atingimento do Top Treshold |
| 67 | 3 | Beraldo Leal | |
| 68 | 4 | Beraldo Leal | O _educloud-mon_ inicia uma máquina virtual caso +alguma+ métrica tenha atingido o @top_thresold@. |
| 69 | 4 | Beraldo Leal | |
| 70 | 4 | Beraldo Leal | h2. Implementação: #504: Simular Excesso de Demanda e Verificar Instanciação Automática de VMs, via Open Nebula |
| 71 | 4 | Beraldo Leal | |
| 72 | 4 | Beraldo Leal | Para simular o excesso de demanda foi utilizado o comando @ab@ do pacote @apache-utils@. |
| 73 | 4 | Beraldo Leal | |
| 74 | 4 | Beraldo Leal | O @ab@ inicia quantas threads forem necessárias e envia N requisições para um determinado host. Sua utilização é muito simples. Abaixo um exemplo do comando @ab@: |
| 75 | 4 | Beraldo Leal | |
| 76 | 4 | Beraldo Leal | <pre> |
| 77 | 4 | Beraldo Leal | ab -n 2000 -c 50 http://cursos.educacao.sp.gov.br/ |
| 78 | 4 | Beraldo Leal | </pre> |
| 79 | 4 | Beraldo Leal | |
| 80 | 4 | Beraldo Leal | Abaixo temos a saída do comando acima: |
| 81 | 4 | Beraldo Leal | |
| 82 | 4 | Beraldo Leal | <pre> |
| 83 | 4 | Beraldo Leal | This is ApacheBench, Version 2.3 <$Revision: 655654 $> |
| 84 | 4 | Beraldo Leal | Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ |
| 85 | 4 | Beraldo Leal | Licensed to The Apache Software Foundation, http://www.apache.org/ |
| 86 | 4 | Beraldo Leal | |
| 87 | 4 | Beraldo Leal | Benchmarking cursos.educacao.sp.gov.br (be patient) |
| 88 | 4 | Beraldo Leal | Completed 200 requests |
| 89 | 4 | Beraldo Leal | Completed 400 requests |
| 90 | 4 | Beraldo Leal | Completed 600 requests |
| 91 | 4 | Beraldo Leal | Completed 800 requests |
| 92 | 4 | Beraldo Leal | Completed 1000 requests |
| 93 | 4 | Beraldo Leal | Completed 1200 requests |
| 94 | 4 | Beraldo Leal | Completed 1400 requests |
| 95 | 4 | Beraldo Leal | Completed 1600 requests |
| 96 | 4 | Beraldo Leal | Completed 1800 requests |
| 97 | 4 | Beraldo Leal | Completed 2000 requests |
| 98 | 4 | Beraldo Leal | Finished 2000 requests |
| 99 | 4 | Beraldo Leal | |
| 100 | 4 | Beraldo Leal | |
| 101 | 4 | Beraldo Leal | Server Software: squid/2.7.STABLE9 |
| 102 | 4 | Beraldo Leal | Server Hostname: cursos.educacao.sp.gov.br |
| 103 | 4 | Beraldo Leal | Server Port: 80 |
| 104 | 4 | Beraldo Leal | |
| 105 | 4 | Beraldo Leal | Document Path: / |
| 106 | 4 | Beraldo Leal | Document Length: 1321 bytes |
| 107 | 4 | Beraldo Leal | |
| 108 | 4 | Beraldo Leal | Concurrency Level: 50 |
| 109 | 4 | Beraldo Leal | Time taken for tests: 0.641 seconds |
| 110 | 4 | Beraldo Leal | Complete requests: 2000 |
| 111 | 4 | Beraldo Leal | Failed requests: 0 |
| 112 | 4 | Beraldo Leal | Write errors: 0 |
| 113 | 4 | Beraldo Leal | Non-2xx responses: 2000 |
| 114 | 4 | Beraldo Leal | Total transferred: 3312000 bytes |
| 115 | 4 | Beraldo Leal | HTML transferred: 2642000 bytes |
| 116 | 4 | Beraldo Leal | Requests per second: 3118.24 [#/sec] (mean) |
| 117 | 4 | Beraldo Leal | Time per request: 16.035 [ms] (mean) |
| 118 | 4 | Beraldo Leal | Time per request: 0.321 [ms] (mean, across all concurrent requests) |
| 119 | 4 | Beraldo Leal | Transfer rate: 5042.78 [Kbytes/sec] received |
| 120 | 4 | Beraldo Leal | |
| 121 | 4 | Beraldo Leal | Connection Times (ms) |
| 122 | 4 | Beraldo Leal | min mean[+/-sd] median max |
| 123 | 4 | Beraldo Leal | Connect: 0 1 0.3 0 5 |
| 124 | 4 | Beraldo Leal | Processing: 5 15 2.0 15 24 |
| 125 | 4 | Beraldo Leal | Waiting: 3 13 1.9 13 22 |
| 126 | 4 | Beraldo Leal | Total: 7 16 1.9 16 25 |
| 127 | 4 | Beraldo Leal | ERROR: The median and mean for the initial connection time are more than twice the standard |
| 128 | 4 | Beraldo Leal | deviation apart. These results are NOT reliable. |
| 129 | 4 | Beraldo Leal | |
| 130 | 4 | Beraldo Leal | Percentage of the requests served within a certain time (ms) |
| 131 | 4 | Beraldo Leal | 50% 16 |
| 132 | 4 | Beraldo Leal | 66% 16 |
| 133 | 4 | Beraldo Leal | 75% 16 |
| 134 | 4 | Beraldo Leal | 80% 17 |
| 135 | 4 | Beraldo Leal | 90% 18 |
| 136 | 4 | Beraldo Leal | 95% 18 |
| 137 | 4 | Beraldo Leal | 98% 23 |
| 138 | 4 | Beraldo Leal | 99% 24 |
| 139 | 4 | Beraldo Leal | 100% 25 (longest request) |
| 140 | 4 | Beraldo Leal | |
| 141 | 4 | Beraldo Leal | </pre> |