다음 bash 명령을 실행하려고 합니다.
seq 1 200 | parallel --eta -j 16 'echo url: {} && curl -s -o /dev/null https://www.google.com'
실행이 끝날 무렵 하나 이상의 컬 명령이 실패하면서 명령이 중단됩니다.
병렬 프로세스 수를 4로 줄이면 명령이 항상 완료됩니다. 5개 및 6개의 병렬 명령을 사용해 보았지만 때로는 작동하고 때로는 실패했습니다. 8은 항상 실패합니다.
다음과 같이 쉘 스크립트에서 일련의 명령을 실행하면 비슷한 결과를 얻을 수 있습니다.
curl -s -o /dev/null https://www.google.com &
curl -s -o /dev/null https://www.google.com &
.
. (with 32 curl commands running in the background at once)
.
curl -s -o /dev/null https://www.google.com &
wait
원래 EC2 M4.4xlarge에서 이 문제가 발생했습니다. M5.4xlarge로 업그레이드해도 효과가 없으며 문제가 여전히 존재합니다.
yum 업그레이드를 수행했습니다.
uname -a
반품:
3.10.0-1160.15.2.el7.x86_64
이것은 분명히 일종의 리소스 문제이지만 원인을 정확히 알 수는 없습니다.
튜닝할 커널 매개변수를 제안할 수 있는 사람이 있나요?