- GNU Parallel es útil para ejecutar pruebas E2E en paralelo
- El autor quería recopilar estadísticas sobre la tasa de aprobados/reprobados de un conjunto de pruebas de larga duración sobre un servicio en vivo a través de HTTP
- Al principio, el autor ejecutó las pruebas usando bucles anidados en bash, pero como cada prueba tardaba mucho en ejecutarse, este método era lento
- Después usó GNU Parallel para ejecutar las pruebas en paralelo, logrando una gran mejora en rendimiento y funcionalidades con menos código
- En GNU Parallel se especifica que los comandos se ejecuten en paralelo, y los marcadores de posición (
{1}, {2}, etc.) se reemplazan con valores de entrada
- La entrada para el comando se especifica después del operador
::: y se proporciona al comando en todas las combinaciones posibles
- GNU Parallel ofrece opciones para controlar la concurrencia y evitar la contención de recursos, como limitar la cantidad de trabajos simultáneos o retrasar el inicio de cada trabajo
- Esta herramienta también ofrece la capacidad de generar un archivo CSV con los resultados de finalización de los trabajos: duración, código de salida y
stdout/stderr capturados
- El autor recomienda el libro de Ole Tange, creador de GNU Parallel, para explorar más a fondo funciones de la herramienta como distribuir trabajos a otros hosts usando SSH, monitorear los tiempos de finalización de los trabajos, reintentar trabajos con alta probabilidad de fallo, reanudar trabajos si la ejecución en paralelo se interrumpe a mitad de camino o limitar la concurrencia de trabajos según el uso de CPU
1 comentarios
Comentarios de Hacker News
ForEach-Objectde PowerShell que incluyen el parámetro-parallel, y destaca el atractivo de paralelizar usando herramientas de línea de comandos