如何对命令行工具进行压力测试?

如何对命令行工具进行压力测试?

我想尝试对我编写的访问文件系统的 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>

相关内容