Beruflich Dokumente
Kultur Dokumente
Centro de Informática
Universidade Federal de Pernambuco
❏ Contexto e Motivação
❏ Método de Trabalho
❏ Análise do Estado da Arte
❏ Apresentação da Ferramenta
❏ Experimentos com a Ferramenta
❏ Resultados e Discussões
❏ Conclusão e Trabalhos Futuros
A Internet
WWW
Crescimento dos sistemas
Serviço A
Monolito Serviço B
Serviço C
Cloud Computing -> Function as a Service
Objetivo
➔ Número de ferramentas
Analise do estado da arte
2014 2016
Parâmetros mais utilizados
Instalação
$ bash install-cli
Uso
$ load-donkey /path/to/specfile
SpecFile
testEngine: ab
functions:
- address: http://host-aws.com
provider: aws
- address: http://host-gcp.com
provider: gcp
- address: http://host-azure.com
provider: azure
request:
method: POST
contentType: application/json
headers:
- key: Authorization
value: 123
queryParameters:
- key: pageSize
value: 25
bodyFile: /path/to/file/containing/body
parameters:
requestCount: 10000
concurrencyCount: 100
Report
➔ NodeJS 12
➔ 256mb de RAM
E1: Processamento de Imagem
E1: Processamento de Imagem
10 1 90kb
100 10 90kb
10 1 180kb
100 10 180kb
'use strict';
function getPayload(size) {
switch (size) {
case '32':
return '<32kb_string>';
case '64':
return '<64kb_string>';
case '128':
return '<128kb_string>';
case '256':
return '<256kb_string>';
}
}
E2: Variação no tamanho do payload
Número de requisições Número de requisições Tamanho do payload de
concorrentes resposta
10 1 32
100 10 32
1000 100 32
10 1 64
100 10 64
1000 100 64
10 1 128
100 10 128
10 1 256
100 10 256
➔ Correlação entre o tamanho da imagem enviada e o tempo médio por requisição em configurações
mais pesadas (1000 requisições com 100 concorrentes);
➔ Função implantada na Azure apresentou tempos médios por requisição consideravelmente maiores,
assim como suas taxas de falha.
E2: Resultados
➔ Funções conseguiram lidar muito melhor com número de requisições mais elevados, tendo latências
médias por requisição consideravelmente inferiores comparados com o E1;
➔ A função implantada na GCP foi a que apresentou a maior estabilidade às variações das
configurações;
➔ Fazer com que a própria ferramenta aponte qual das funções sob teste teve o melhor desempenho.
Obrigado!