| VirtBench. Virtbench é um conjunto de benchmarks para ambientes / hipervisores de virtualização. |
Baixe Agora |
VirtBench. Classificação e resumo
- Nome do editor:
- Rusty Russell
- Site do editor:
- http://ozlabs.org/~rusty/virtbench/
VirtBench. Tag
VirtBench. Descrição
O VirtBench é um conjunto de benchmarks para ambientes / hipervisores de virtualização. O VirtBench é um conjunto de benchmarks para ambientes / hipervisores de virtualização. O projeto é projetado para ser fácil de correr e fácil de estender. O público principal será as pessoas desenvolvendo hipervisores.Ramentamentos: · sudo · / dev / net / tun: tente "modprobe tun" · as redes 192.168.19.0 e 192.168.12.0 Livre para ser usado. · Um kernel com suporte EXT3 construiu inquérito: # Construir o código e os sistemas de arquivos raiz (usará sudo) fazer # definir o local do kernel convidado e talvez morevi ./settings# Executar o benchmark (modo local) sudo ./virtbench local # executar o benchmark (modo kvm) sudo ./virtbench KvMoptions que podem ser úteis: - ifname = : use uma interface diferente de "eth0" para obter o IP do servidor .-- áspero: Não execute benchmarks quantas vezes .-- Distribuição: Mostrar detalhes de distribuição para resultados. --csv = : Grave resultados completos para o arquivo - Ajuda: Uso e lista de nomes de referência : Execute este / estes benchmarkWarksWriting New Benchmarks: Escrever novos benchmarks é projetado para ser bem trivial. Eles são colocados em subdiretórios (atualmente micro / ou inter / para microbenckmarks e benchmarks inter-convidados). Qualquer arquivo .c nestes diretórios é apanhado, portanto, nenhuma edição de makefile é necessária. Você precisa incluir "../benchmarks.h", depois definir um "benchmark struct" como assim: Benchmark Struct My_Benchmark _Benchmark_ = {"mybench" "Hora de um foobar", do_single_bench, do_mybench}; observe o marcador "_benchmark_" que registra automaticamente seu benchmark. O primeiro elemento é o nome de referência (para uso da linha de comando), a segunda é a string para exibir antes do resultado, a terceira é a rotina do lado do servidor para executar o benchmark e, finalmente, sua rotina de referência do lado do cliente. As rotinas existentes do lado do servidor: do_single_bench: execute este benchmark em uma única máquina escolhida aleatoriamente (normal para microbenckmarks) do_pair_bench: execute este benchmark em duas máquinas escolhidas aleatoriamente (normais para benchmarks inter-convidados) .DO_Pair_Bench_onestop: Execute este benchmark em dois aleatoriamente Máquinas escolhidas, mas terminam o temporizador assim que a máquina terminar. O benchmark do lado do cliente tem um protótipo como assim; Void Static My_Bench (INT FD, U32 é executado, Benchmark Struct * Opto); - FD: O soquete do servidor - Execute: O número de iterações para executar o benchmark for (pode ser 0) - Banco: o benchmark que estamos em execução. - Opções: A opção enviada pelo servidor (do_pair_bench passa um "struct par_opt" aqui para que os clientes saibam se são o primeiro ou segundo). A rotina do cliente deve fazer qualquer configuração necessária e, em seguida, chamar "Wait_For_Start (FD)". Se isso retornar true, execute o benchmark "Executas" vezes, ligue para "Send_ack (FD)". Em seguida, limpar e retornar. New backendsto implementar suporte para um novo hipervisor, você precisa criar um novo diretório (por exemplo, "mkdir myhype") e coloque quatro scripts executáveis nele. Cada script deve começar com "... ./Settings" para absorver as configurações globais. - Início: Este script é executado no início; Uma chance de inserir módulos, criar dispositivos, verificar os requisitos, etc.- start_machine: Este é o script mais complexo. Leva três argumentos: o número do cliente para criar (0 a 3), o endereço IP do servidor e o número da porta do servidor. Deve imprimir um identificador na saída padrão (este identificador é para o seu próprio uso: ele será entregue a você para stop_machine). Este script deve criar a máquina virtual usando o sistema de arquivos raiz ext3 encontrado no rootfs / VirtBench-root- $ 1. A máquina virtual é geralmente iniciada com uma linha de comando de init = / virtclient . O VirtClient leva 5 ou 6 argumentos: ClientID ($ 1) Serverip ($ 2) ServerPort (US $ 3) ExtiFname (geralmente "eth0") IFADD (geralmente 192/168/19 / $ ($ 1 + 1))) Intifname (opcional) O argumento é usado se você quiser uma rede separada para comunicações inter-hóspedes (o LGUEST usa "ETH1" para inter-hóspede, outros rota através do anfitrião). Observe que o kernel do Linux não permite argumentos de linha de comando "". Neles, então o VirtClient aceita endereços IP com "/" no lugar ".". Seu script também precisará configurar qualquer roteamento necessário para os convidados se comunicar.- stop_machine: leva um argumento: o identificador retornado por start_machine. Isso deve matar a máquina virtual.- Parar: Chamado no final para limpar e remover módulos, etc.
VirtBench. Software Relacionado