私はファイルシステムにアクセスするPHPスクリプトをストレステストして、ロードおよびパラレルアクセスを処理する方法を確認したいと思いました。
このスクリプトを複数のプロセスx
で並列に複数回実行したいと思いますy
。
そのようなツールがありますか?
答え1
xargs
簡単な並列処理を可能にします。これは例です(あなたのxargsバージョン-0
サポートしていると仮定します。つまり、いいえ天然痘の要件。移植性が問題の場合)を使用しecho
て削除します-0
。
maxruns=2000
instances=50
printf '%s\0' {1..$maxruns} | xargs -0 -I, -n 1 -P $instances <program>
printf
NULL文字で区切られた1から2000までの数字を出力します。にパイプされますxargs
。このオプションは、空白ではなくNULL文字で値を区切ることを-0
通知します。xargs
この-I
スイッチは、次の文字(任意の文字シーケンスであるコンマ)を入力値に置き換えます。入力値は不要な数値であり、コマンドラインに他のカンマがないため、入力は単に削除されます。-n 1
最大1つのパラメータが提供されます<program>
。一度に-P 50
50以上のインスタンスを実行することはできません。<program>