如何正确的作远程测试? - JMeterFAQ
答案:这有一些注解来帮助你开始。
你应有:
一个应用服务器。你不能在这个机器上运行任何在你的被提议的或实际的产品环境上不会运行的软件(如果你运行任何其他的,包括JMeter,你会增加服务器的负载并因此影响你的测试结果)。
一个或多个运行jmeter-server的机器(JMeterEngine)。你需要将这些机器放置在适度接近(在网络方面)应用服务器。对“适度接近”我的意思是在同一个以太网段或至少在他们之间不是低速连接。JMeter用户手册提供了比较好的关于作这样事情的信息。
一个运行控制JMeterEngine机器的JMeter 图形用户界面的独立的机器。
当你在开发脚本并只是为中等程度的用户测试(假设你“接近”应用服务器)你不必引入JMeterEngine服务器。这样做的原因是:
当你不“接近”应用服务器时排出缓慢的网络连接的影响。
执行比本地机器的处理能力多的线程。
下面列出来的是可以使用jmeter-server的原因吧
1 ,你自己机器访问测试服务器速度不快,因此需要jmeter-server来排除自己机器网络访问慢的影响。
2,
jmeter-server拥有的测试线程处理能力超过你自己机器的。
在我的脚本中如何使用外部的数据文件?
答案:一种方法是创建一个用户参数前置处理器(User Parameters Pre-Processor ),在它里面列出所有你想从数据文件读取的值。然后你可以在脚本中使用变量名称。
例如:
启动JMeter
在测试计划中添加一个线程组
设置合适的线程数和迭代次数
添加 前置处理器 > 用户参数 到线程组
点击 添加变量
设置once per iteration (???)
设置 名称 为变量名称(例如:ACCOUNTID)
设置值(在User_1下)为 ${_StringFromFile(accounts.dat)}
添加取样器 > HTTP请求 到 线程组
点击 添加 按钮来给请求添加参数
名称:account_id
值: ${ACCOUNTID}
添加监听器 > 察看结果树 到 线程组
保存
创建每行包含每个账户标识(account id)account.dat 文件。[在bin目录中,除非你在_StringFromFile的参数中添加了路径]
运行 > 启动
每次迭代,变量ACCOUNTID将被设置为数据文件中的下一行,然后HTTP请求使用它的值来设置account_id参数。
当到了文件末尾,StringFromFile再次开始在文件开头读取。
注意:如果在客户机-服务器模式下用这样的脚本,确保任何数据文件都被复制到服务器主机的合适位置,由于数据文件将被服务器打开,而不是客户机。