Problema decifrar a saída do Autobench
-
22-09-2019 - |
Pergunta
Estou tentando comparar um servidor da web simples que escrevi, mas estou tendo problemas para decifrar o que a Autobench produziu. Estou pesquisando em todo o Google em busca de ajuda nisso (mesmo passando pelo código -fonte Autobench e Httperf), mas não consegui entender o que está acontecendo.
Eu executei a seguinte referência no meu servidor:
autobench --single_host --host1 10.0.1.5 --port1 5555 --uri1 /Tests --quiet --low_rate 20 --high_rate 200 --rate_step 20 --num_call 10 --num_conn 5000 --timeout 5 --file results.csv
Aqui está o meu arquivo Results.CSV (com algum espaço de branco extra para legibilidade):
dem_req_rate,req_rate,con_rate,min_rep_rate,avg_rep_rate,max_rep_rate,stddev_rep_rate,resp_time,net_io,errors
200, 40.0, 20.0, 20.0, 20.0, 20.0, 0.0, 6.2, 15.6, 100
400, 80.0, 40.0, 40.0, 40.0, 40.0, 0.0, 6.4, 31.2, 100
600, 119.9, 60.0, 57.0, 59.9, 61.4, 0.9, 17.9, 46.8, 100.160256410256
800, 159.5, 79.9, 76.0, 79.5, 82.4, 2.1, 32.5, 62.1, 100.48231511254
1000, 155.9, 94.0, 55.8, 64.7, 75.8, 6.2, 129.4, 50.4, 151.975683890577
1200, 156.7, 112.6, 28.0, 45.5, 63.2, 11.3, 148.0, 38.9, 255.232261357836
1400, 154.7, 121.8, 22.2, 38.1, 51.6, 9.3, 175.6, 34.2, 328.299409061064
1600, 154.5, 134.7, 15.6, 28.7, 52.8, 13.3, 211.6, 27.7, 498.504486540379
1800, 143.5, 138.7, 3.2, 18.6, 41.0, 11.7, 185.1, 21.1, 768.049155145929
2000, 158.8, 159.4, 5.6, 18.0, 45.6, 14.6, 234.7, 21.6, 925.925925925926
Estou me perguntando:
O que dem_req_rate
significa? O que net_io
significa? O que errors
significa? Como acontece errors
relacionar -se a dem_req_rate
? Em que unidades estão todas elas?
Solução
Oi eu também procurei:
dem_req_rate = num_call * curr_rate
Ondecurr_rate
A taxa é passada parahttperf
dependendo do número de iteração e da configuração derate_step
,low_rate
ehigh_rate
params (Man Autobench Para mais informações sobre esses parâmetros)net_io
= a taxa de transferência de rede média em kilobytes por segundo KB/s
é oNet I/O
a partir dehttperf
deMiscellaneous Section
de sua saída e página de homem(não ligado)errors
é oTotal errors
deErrors Section
dohttperf
resultados e seus página de homem(não ligado)
Outras dicas
Apenas man httperf
Você encontrará informações detalhadas.
Os erros devem ser a % de erros, mas na versão do AutoBench eu tenho (2.1.1) o valor é calculado incorretamente.
Isso é:
$results{percent_errors} = ( 100 * $results{errors} / $results{replies} );
Deveria ser:
$results{percent_errors} = ( 100 * $results{errors} / ($results{replies} + $results{errors}) );