Faban动态改变负载

  通过提供一个load改变文件,所有的thread在运行前就准备好了,不需要的thread处于idle空闲状态,使用完之后的thread回到sleep或者idle状态。而runtime report让你在运行时查看响应时间等参数,而不是等到所有的benchmark运行完。

  load变化文件形式是:<runtime in secs>,<thread count> 。文件中包含很多运行时间和thread数目的对儿。在run.xml文件中配置<fa:variableLoad>true</fa:variableLoad> 

    <fa:variableLoadFile>myvariationfile</fa:variableLoadFile> 

  其中myvariationfile是文件在本机的位置。注意:load变化文件中的总时间数必须和配置文件中的steadytime相等。而且load变化文件中的最大thread count必须和运行的thread相同,不是和scale数目相同,因为在Driver类中可能会指定一个scale可以有多个agnet。

  如果agent是分布式的,那么每台agent机器上必须手动放置一个load变化文件。而且load变化文件中指定的thread count数是针对每个agent的,如果有多个agent,那么相当于有n*thread count。

 

  但是现在的一个问题是我实验了两个benchmark,其中一个scale是20,一个是200,可是每秒的请求时是一样的,这个是问什么的。而且那个load变化时间没有按照预期的实现。还有看一下faban代码中如何实现这个功能的。

  看了一下源代码,大致是有一个转换时间, agent.loadSwitchTime += load.runTime * 1000000000l;那么loadswitchtime一个时间是需要的,是不是因为这个导致小用户量的时间过短?

你可能感兴趣的:(动态)