我想尝试对我编写的访问文件系统的 PHP 脚本进行压力测试,看看它如何应对负载和并行访问。
我想在不同的进程x
中并行运行此脚本多次y
。
有这个工具吗?
答案1
xargs
允许轻松并行处理。这是一个示例(假设您的 xargs 版本支持该-0
开关,即不是POXIX 要求。如果可移植性是一个问题,只需使用echo
并删除-0
)。
maxruns=2000
instances=50
printf '%s\0' {1..$maxruns} | xargs -0 -I, -n 1 -P $instances <program>
printf
输出由 NULL 字符分隔的 1 到 2000 之间的数字。这通过管道传输到xargs
.该-0
选项通知xargs
值由 NULL 字符而不是空格分隔。该-I
开关将后面的字符(逗号,可以是任何字符序列)替换为输入值。由于输入值是我们不需要的数字,并且命令行中没有其他逗号,因此输入将被简单地丢弃。-n 1
最多为 提供一个参数<program>
。一次-P 50
运行不超过 50 个实例。<program>