遇到的问题
1、压力不够大
2、单台瓶颈
3、网络瓶颈
分布式系统是由一组通过网络进行通信、为了完成共同的任务而协调工作的计算机节点组成的系统。分布式系统的出现是为了用廉价的、普通的机器完成单个计算机无法完成的计算、存储任务。其目的是利用更多的机器,处理更多的数据。
负载生成器
使用分布式负载生成器的特点:
1、真实的性能测试而不存在网络瓶颈问题
2、 快速响应的GUI
3、将测试结果存储到本地的一台机器上
4、 使用一台机器管理多个JMeter Engines
同时,测试脚本会被自动发送到作为负载生成的机器上并执行,不用使用者单独执行拷贝文件操作。
需要注意的
1、注意控制台的负载
2、所有负载生成器上安装相同版本的Jmeter
3、所有负载生成器上安装相同版本的Java
4、防火墙和杀毒软件
5、确保所有机器在同一个子网
疑问
一台机器到底可以模拟多少并发用户数?
A single JMeter client running on a 2-3Ghz CPU (recent cpu) can handle 300-600
threads depending on the type of test.
不同协议、及脚本的复杂度不同也会导致一台机器模拟用户数的多少不同;
特别是对于XML文件的解析,更是CPU密集型。
Jmeter中的分布式
操作步骤
1、在负载生成器(slaves)启动 jmeter-server;
2、在控制台(master)编辑 jmeter.properties文件。查找remote_hosts= 并根据实际情况添
加slave的IP地址到列表中;
3、在master端启动 Jmeter;
4、开始运行。
例子
带有其他外部文件的例子
结论:如果测试用例中使用了其他外部数据文件,这些文件是不会随着测试计划一起发送到负载生成器上的,因此需要确认测试计划所使用的数据文件是否存在于运行测试计划的远程机器上,我们可以
Jmeter VS LoadRunne
1、都可以实现分布式负载。相对来说LoadRunner更强大一些。
2、都支持在windows和Linux环境的负载生成器。控制台方面,Jmeter跨平台,而LoadRunner不是。
3、LoadRunner可以指定每个负载生成器运行不同数量的并发用户,而目前Jmeter不行。
4、Jmeter中测试计划之外的数据文件不会一起发送到负载生成器,而LoadRunner中的文件可以通过选择纳入LoadRunner的管理而一起发送到远端。
分布式与集群的区别:https://www.cnblogs.com/aspirant/p/5697807.html