- O GNU Parallel é útil para executar testes E2E em paralelo
- O autor queria coletar estatísticas sobre a taxa de aprovação/reprovação de um conjunto de testes de longa duração para um serviço em produção acessado via HTTP
- No início, o autor executava os testes usando loops aninhados em bash, mas como o tempo de execução de cada teste era longo, esse método era lento
- Depois, passou a usar o GNU Parallel para executar os testes em paralelo, com grande melhora em desempenho e funcionalidades usando menos código
- No GNU Parallel, você especifica que os comandos devem ser executados em paralelo, e os placeholders (
{1}, {2} etc.) são substituídos pelos valores de entrada
- As entradas para o comando são especificadas após o operador
::: e são fornecidas ao comando em todas as combinações possíveis
- O GNU Parallel oferece opções para controlar a concorrência e evitar contenção de recursos, como limitar o número de tarefas simultâneas ou atrasar o início de cada tarefa
- A ferramenta também oferece a capacidade de gerar um arquivo CSV com os resultados de conclusão das tarefas, incluindo duração, código de saída e stdout/stderr capturados
- O autor recomenda o livro de Ole Tange, criador do GNU Parallel, para explorar mais a fundo recursos da ferramenta, como distribuir tarefas para outros hosts via SSH, monitorar o tempo de conclusão das tarefas, repetir tarefas com alta probabilidade de falha, retomar tarefas se a execução paralela for interrompida no meio e limitar a concorrência com base no uso de CPU
1 comentários
Comentários no Hacker News
ForEach-Objectdo PowerShell com o parâmetro-parallel, destacando o apelo da paralelização com ferramentas de linha de comando