次のbashコマンドを実行しようとしています。
seq 1 200 | parallel --eta -j 16 'echo url: {} && curl -s -o /dev/null https://www.google.com'
実行が終了すると、1つ以上のカールコマンドが失敗したときにコマンドが中断されます。
並列プロセスの数を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
これは明らかにある種のリソースの問題ですが、原因を正確に知ることはできません。
チューニングするカーネルパラメータを提案できる人はいますか?