性能测试之远程并发模式

事实上,你的JMeter客户端机器是不能表现出完美的压力请求,来模拟足够多的用户或由于网络限制去向服务施加压力,一种解决方法是通过一个JMeter去控制多个/远程JMeter。通过运行JMeter的远程模式,你可以通过多个低配制的电脑复制测试计划用于模拟一个大数据量的压力并发在服务器上。一个JMeter客户端实例可以控制多个远程JMeter实例,并收集所有数据信息。特点如下:

  • 保存测试样例在本机电脑
  • 通过一台机器来管理多台JMeter测试机
  • 不需要复制测试计划到每一台JMeter测试机-JMeter客户端会发送至所有的服务器

提示: 相同的测试计划将会被运行在所有的服务器中。JMeter不会在服务器间分发压力,每一个均会完整执行测试计划。因此,如果你设置了1000个线程并有6个JMeter服务,你将会完成6000线程注入。

阅读更多

性能测试最佳实践之JMeter

保持使用最新版本

JMeter被经常推荐用来测试性能,鼓励用户使用最新的版本。

确保你要经常去阅读变更记录中的新功能和模块的提升。你不应该再使用3.0之前的版本了

使用正确的线程数

你硬件设备的能力及测试计划将都会影响你的JMeter可运行的线程数。数量也依赖于你的服务有多快(一个可快速响应的服务可以让JMeter变更更加给力)。像其它性能测试工具一样,如果你没有正确的线程数,你将面对不准备或错误结果的Coordinated Omission问题。如果你需要大数量级的压力测试,考虑使用分布式模式在多台机器上运行无GUI的JMeter实例。当使用分布式模式时,结果将被聚合在控制器的结果中,如果使用多个自已的实例,结果文件可以聚合用于持续性分析。对于如何在一个给定的平台上使用JMeter测试,JavaTest Sampler可以考虑使用。它不需要任何网络请求便可返回一些信息在最大的吞吐量。

JMeter有选项用于延迟线程创建直到线程正常启动,如在其它线程组延迟之后和线程自身的启动时间。这样就允许一个非常大数量级的线程数,不需要太多的线程同时并发。

阅读更多

无声告白

封面

阅读更多

性能测试与持续集成

目的

  • 将性能测试与持续集成挂接起来
  • 性能测试: JMeter
  • 持续集成: Jenkins

阅读更多

E2E测试之Headless browser容器化

目的

1
We recommend against using PhantomJS for tests with Protractor. There are many reported issues with PhantomJS crashing and behaving differently from real browsers.

Docker

安装

1
docker pull webnicer/protractor-headless

阅读更多