Detectar Excesso de Demanda e Instanciar VM Webserver

Implantação #501: Definir e configurar top treshold

Atualmente para propósitos de demonstração o educloud-mon está configurado com duas métricas: web-cpu-usage e web-active-users.

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

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.

Implantação #502: Configurar LVM para Obter Ganho de Performance na Instanciação de VMs

A máquina osdc01 (200.145.46.197) é um repositório de imagens. Nele temos o seguinte layout de lvm:

Volumes físicos (Comando pvdisplay):

  --- Physical volume ---
  PV Name               /dev/sda3
  VG Name               osdc1
  PV Size               18.18 TiB / not usable 1.00 MiB
  Allocatable           yes
  PE Size               4.00 MiB
  Total PE              4765714
  Free PE               254883
  Allocated PE          4510831
  PV UUID               L4yscI-w5r3-0IVh-FtxE-oGOJ-EtTM-5nBjt2

Grupos (Comando vgdisplay):

  --- Volume group ---
  VG Name               osdc1
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  276
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                9
  Open LV               7
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               18.18 TiB
  PE Size               4.00 MiB
  Total PE              4765714
  Alloc PE / Size       4510831 / 17.21 TiB
  Free  PE / Size       254883 / 995.64 GiB
  VG UUID               3oKaJb-HYqQ-cOZK-duiF-qGVR-5P9H-HcrWaa

Volumes Lógicos (Comando lvdisplay):

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.

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:

lvdisplay

Implementação #503: Configurar Comando de Instanciação de VM, com Base no Atingimento do Top Treshold

O educloud-mon inicia uma máquina virtual caso alguma métrica tenha atingido o top_thresold.

Implementação: #504: Simular Excesso de Demanda e Verificar Instanciação Automática de VMs, via Open Nebula

Para simular o excesso de demanda foi utilizado o comando ab do pacote apache-utils.

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:

ab -n 2000 -c 50 http://cursos.educacao.sp.gov.br/

Abaixo temos a saída do comando acima:

This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking cursos.educacao.sp.gov.br (be patient)
Completed 200 requests
Completed 400 requests
Completed 600 requests
Completed 800 requests
Completed 1000 requests
Completed 1200 requests
Completed 1400 requests
Completed 1600 requests
Completed 1800 requests
Completed 2000 requests
Finished 2000 requests

Server Software:        squid/2.7.STABLE9
Server Hostname:        cursos.educacao.sp.gov.br
Server Port:            80

Document Path:          /
Document Length:        1321 bytes

Concurrency Level:      50
Time taken for tests:   0.641 seconds
Complete requests:      2000
Failed requests:        0
Write errors:           0
Non-2xx responses:      2000
Total transferred:      3312000 bytes
HTML transferred:       2642000 bytes
Requests per second:    3118.24 [#/sec] (mean)
Time per request:       16.035 [ms] (mean)
Time per request:       0.321 [ms] (mean, across all concurrent requests)
Transfer rate:          5042.78 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    1   0.3      0       5
Processing:     5   15   2.0     15      24
Waiting:        3   13   1.9     13      22
Total:          7   16   1.9     16      25
ERROR: The median and mean for the initial connection time are more than twice the standard
       deviation apart. These results are NOT reliable.

Percentage of the requests served within a certain time (ms)
  50%     16
  66%     16
  75%     16
  80%     17
  90%     18
  95%     18
  98%     23
  99%     24
 100%     25 (longest request)