Testbeds & Specs com bencher run
Um Testbed é o nome do ambiente de teste usado ao executar um Relatório.
Ao usar o subcomando CLI bencher run,
selecione um Testbed com a opção --testbed ou a variável de ambiente BENCHER_TESTBED.
Se nenhum for especificado, Linux, macOS ou Windows é usado como padrão com base no sistema operacional do host.
Se o CLI bencher foi compilado para um sistema operacional diferente, então localhost é usado.
Um Testbed terá uma Spec atribuída quando for usado para benchmarking em hardware dedicado.
Se nem a opção --testbed nem a variável de ambiente BENCHER_TESTBED estiverem definidas durante o benchmarking em hardware dedicado, então o nome da Spec é usado.
Quando um Relatório é criado, a Spec atual do Testbed naquele momento é registrada com o Relatório.
Apenas resultados do mesmo Testbed e Spec são usados para os Limites.
Isso permite rastrear como os resultados de benchmark se relacionam com o hardware subjacente,
mesmo que a Spec do Testbed mude ao longo do tempo.
Use a opção --spec para definir ou atualizar a Spec de um Testbed,
ou a flag --spec-reset para limpá-la.
--testbed <TESTBED>
Ou a opção --testbed ou a variável de ambiente BENCHER_TESTBED pode ser definida como o nome, slug ou UUID para um Testbed. Se o valor especificado for um nome ou slug e o Testbed ainda não existir, ele será criado para você. No entanto, se o valor especificado for um UUID, então o Testbed já deve existir. Se ambos forem especificados, a opção --testbed tem precedência sobre a variável de ambiente BENCHER_TESTBED. Se nenhum for especificado, então Linux, macOS ou Windows é usado, com base no sistema operacional do host. Se o CLI bencher foi compilado para um sistema operacional diferente, então localhost é usado como o Testbed padrão.
--spec <SPEC>
Especifique o slug ou UUID de uma Spec. Uma Spec é uma especificação de hardware que descreve os recursos disponíveis para um Runner:
- Sistema Operacional (SO)
- Linux
- macOS
- Windows
- Arquitetura de CPU
- x86_64
- ARM64
- Sandbox
- Firecracker microVM
- Sem Sandbox
- Quantidade de CPU
- Tamanho da memória (RAM)
- Tamanho do disco
- Acesso à rede
As seguintes Specs estão atualmente disponíveis no Bencher Cloud:
| Nome | Slug | SO | Arquitetura | Sandbox | CPU | Memória | Disco | Rede |
|---|---|---|---|---|---|---|---|---|
| Intel v1 | intel-v1 | Linux | x86_64 | Firecracker microVM | 4 | 48.0 GiB | 128.0 GiB | Não |
As Specs têm escopo de servidor ou escopo de organização, de modo que a mesma Spec pode ser compartilhada entre vários Testbeds no mesmo servidor ou dentro da mesma organização, respectivamente.
A ordem de precedência para selecionar a Spec ao usar bencher run é a seguinte:
- A opção
--spec - A Spec atribuída ao Testbed
- A Spec padrão com escopo de organização
- A Spec padrão com escopo de servidor
A Spec selecionada será então atribuída ao Testbed atual.
Esta opção requer que a opção --image esteja definida.
--spec-reset
Redefine a Spec do Testbed, removendo sua especificação de hardware.
Isso limpa a spec associada ao Testbed quando a execução é enviada.
Requer a opção --testbed.
Entra em conflito com a opção --image.
🐰 Parabéns! Você aprendeu tudo sobre Testbeds & Specs! 🎉