我们正在使用 nGrinder 进行性能测试。我们有希望并行运行多个测试脚本的用例。
在他们的网站上说,一个用户一次只能运行一个测试。所以我们设置了两个用户,但我看到了相同的行为:只有一个测试脚本正在运行,其他的正在等待处于 READY 状态。
nGrinder 有什么方法可以并行运行多个测试脚本吗?
我们正在使用 nGrinder 进行性能测试。我们有希望并行运行多个测试脚本的用例。
在他们的网站上说,一个用户一次只能运行一个测试。所以我们设置了两个用户,但我看到了相同的行为:只有一个测试脚本正在运行,其他的正在等待处于 READY 状态。
nGrinder 有什么方法可以并行运行多个测试脚本吗?
只有当这些测试提交给不同的用户执行时,如果自由代理有足够的时间运行这两个测试,则只有可能同时运行多个测试。
我怀疑您没有足够的代理来运行两者。
您可以仅使用一个代理运行多个脚本。我会根据事务组而不是脚本来划分代理。
在磨床里面有parallel.py。我之前只使用过它来并行运行脚本。
请参阅此链接https://github.com/DealerDotCom/grinder/blob/master/grinder/examples/parallel.py
from net.grinder.script.Grinder import grinder
脚本 = ["TestScript1", "TestScript2", "TestScript3"]
对于脚本中的脚本: exec("import %s" % script)
def createTestRunner(script): exec("x = %s.TestRunner()" % script) return x
类 TestRunner: def init (self): tid =grinder.threadNumber
if tid % 4 == 2:
self.testRunner = createTestRunner(scripts[1])
elif tid % 4 == 3:
self.testRunner = createTestRunner(scripts[2])
else:
self.testRunner = createTestRunner(scripts[0])
# This method is called for every run.
def __call__(self):
self.testRunner()