2011-06-06 106 views
2

我有一个命令行perl脚本,我想强调测试。基本上我想要做的是同时运行同一脚本的多个实例,以便我可以弄清楚我们的机器在什么时候变得无法响应。压力测试命令行应用程序

目前,我做这样的事情:

$ prog > output1.txt 2>err1.txt & \ 
    prog > output2.txt 2>err2.txt & 
    . 
    . 
    . 
    . 

,然后我检查PS,看看哪些情况下完成的,哪些没有。有没有可以使这个过程自动化的开源应用程序?最好用网络界面?

回答

0

为什么不使用crontab或Scheduled Tasks自动运行脚本?

你可以写一些东西来自动分析输出。

3

您可以使用xargs的并行运行命令:

seq 1 100 | xargs -n 1 -P 0 -I{} sh -c 'prog > output{}.txt 2>err{}.txt' 

这将并行运行100个实例。

为了获得更好的测试框架(包括通过'spawn'进行平行测试),请看看Expect。

0

随着GNU该并联运行每个CPU核心一个PROG:

seq 1 1000 | parallel prog \> output{}.txt 2\>err{}.txt 

如果你婉运行每个CPU核心10个progs的事:

seq 1 1000 | parallel -j1000% prog \> output{}.txt 2\>err{}.txt 

观看介绍视频,以了解更多: http://www.youtube.com/watch?v=OpaiGYxkSuQ