JMeter做性能测试(1)-性能压测脚本的生成以及完善和增强

1.上网的整个过程?

假设我们点击了某网页上的一个链接,指向清华大学院系设置,其URL是:http://www.tsinghua.edu.cn/chn/yxsz/index.html。我们来分析一下整个过程:
  1.浏览器分析链接指向页面的URL
  2.浏览器向DNS请求解析www.tsinghua.edu.cn的IP地址
  3.DNS系统解析出清华大学服务器的地址是166.111.4.100
  4.浏览器与服务器建立TCP连接
  5.浏览器发出取文件命令:GET /chn/yxsz/index.html
  6.服务器www.tsinghua.edu.cn给出响应,把文件index.html返回给浏览器
  7.释放TCP连接
  8.浏览器解析并显示“清华大学院系设置”文件index.html中的内容

2.使用JMeter进行性能测试时,为什么首先要设置代理服务器?

  1. 拦截并记录操作:HTTP代理服务器允许JMeter在使用常规浏览器浏览Web应用程序时拦截并记录操作。JMeter将创建测试样本对象,并将其直接存储到测试计划中。这样,在操作录制的同时,用户还可以查看录制的测试计划。
  2. 监听浏览器操作:设置代理服务器可以监听浏览器在相应端口的操作,有助于深入理解系统业务。
  3. 分析请求:使用代理服务器可以记录请求,方便用户进一步分析请求,从而更好地进行性能测试。

总的来说,设置代理服务器可以帮助用户更好地了解系统性能,分析潜在问题,并优化系统性能。但请注意,设置代理服务器也会增加一定的系统开销和复杂性,因此需要根据实际情况进行权衡和选择。

3.JMeter做性能测试时设置代理服务器和不设置代理服务器区别是什么?

 

  1. 网络连接的灵活性:当设置代理服务器时,JMeter的性能测试请求会通过代理服务器进行转发。这意味着,如果测试环境需要通过代理服务器才能访问目标系统(如公司网络或特定网络环境),设置代理服务器是必要的。这样,JMeter可以适应特定的网络环境,确保测试的顺利进行。而不设置代理服务器时,JMeter将直接与目标系统进行通信,这在某些网络环境下可能会受到限制或阻止。
  2. 测试需求的满足:在某些性能测试场景中,可能需要通过代理服务器来模拟或记录测试过程中的网络流量。例如,使用代理服务器可以录制浏览器与服务器之间的交互,以便后续的分析和回放。这种设置对于重现用户行为、分析性能瓶颈或进行压力测试等场景非常有用。如果不设置代理服务器,这些特定的测试需求可能无法满足。
  3. 安全性考虑:代理服务器有时也用于增强网络安全,例如过滤恶意流量或加密通信。通过设置代理服务器,可以确保JMeter与目标系统之间的通信更加安全。而不设置代理服务器时,测试数据可能会直接暴露在网络中,增加了潜在的安全风险。

综上所述,设置代理服务器可以提高JMeter性能测试的灵活性、满足特定的测试需求并增强安全性。然而,是否需要设置代理服务器应根据实际情况来判断,确保配置正确并适应测试环境的需求。

 

4.代理服务器:

代理服务器是一种充当客户端和服务器之间中介的服务器。当计算机尝试连接到互联网上的资源时,代理服务器会代表计算机发送请求,并返回响应。

 5.使用JMeter进行能测试测试的实际操作

(1)设置客户端的代理

 (2)建 测试计划--HTTP代理服务器--线程组-- HTTP请求--查看结果树--HTTP Cookie管理器 

为什么要添加HTTP代理服务器???

Jmeter添加HTTP代理服务器的作用在于通过监听浏览器在相应端口的操作,允许JMeter拦截并记录用户的操作,将创建的测试样例对象保存到测试计划中。

这样,用户可以在操作录制的同时查看录制的测试计划。

此外,使用HTTP代理服务器还可以设置浏览器对所有HTTP和HTTPS请求使用代理,以便在录制脚本时使用无痕浏览模式,确保浏览器没有存储的Cookie信息,并防止保存某些更改。

为什么要添加线程组??

Jmeter添加线程组的原因在于,它可以模拟多用户并发访问和操作,以对软件做压力测试。通过模拟多用户并发访问,线程组可以测试软件在高并发访问下的性能表现和稳定性。通过设置线程组的参数,如线程数、循环次数等,可以模拟不同数量的用户并发访问,从而测试软件的性能瓶颈和存在的问题。因此,添加线程组是进行压力测试和性能测试的重要步骤之一。

 为什么要添加 HTTP请求?

  1. 模拟用户行为:JMeter通过发送HTTP请求来模拟用户在浏览器中的操作,如访问网页、提交表单等。这样可以帮助测试人员了解在真实场景下,系统如何处理大量的用户请求,并评估其性能表现。
  2. 测试系统性能:通过模拟多个用户同时发送HTTP请求,JMeter可以对系统的处理能力、响应时间、吞吐量等关键指标进行测试。这有助于发现系统在高并发情况下的瓶颈和问题,从而进行优化和改进。
  3. 验证系统稳定性:在压力测试过程中,通过不断增加HTTP请求的数量和频率,可以测试系统的稳定性和可靠性。这有助于发现系统在极端情况下可能出现的问题,如崩溃、内存泄漏等。
  4. 评估系统安全性:JMeter还可以模拟各种异常请求,如大量并发请求、恶意请求等,以测试系统的安全性。这有助于发现系统可能存在的安全漏洞和风险,并采取相应的防护措施。

总之,添加HTTP请求是为了在JMeter的压力测试过程中模拟真实场景下的用户行为,测试系统的性能、稳定性和安全性。这有助于发现系统存在的问题并进行改进,从而提高系统的整体质量和用户体验。

 

 遇到的问题,设置代理服务器后,要测试的网站打不开了?????

  1. 代理设置不正确:请确保在JMeter中正确配置了代理服务器和端口号。同时,确保JMeter的IP地址和端口号是正确的,并且没有被防火墙或其他网络设置阻止。
  2. 浏览器未设置使用JMeter代理:您需要确保浏览器已设置为使用JMeter作为代理服务器。在浏览器的设置或网络设置中,将代理服务器的IP地址和端口号设置为与JMeter中设置的相同。
  3. 证书问题:HTTPS协议的网页需要导入安全证书。在JMeter设置代理服务器后,会在JMeter的bin目录下生成一个安全证书文件。您需要将这个证书导入到浏览器中,以便浏览器能够信任JMeter代理服务器。具体操作方法可以参考相关文档或教程。
  4. JMeter未启动或配置错误:确保JMeter已正确启动,并且在录制脚本的设置中没有其他错误。您可以检查JMeter的日志文件,查看是否有任何错误或警告信息。
  5. 网络问题:有时网络连接可能会出现问题,导致无法连接到JMeter的代理服务器。您可以尝试重启您的网络设备,或者检查您的网络连接是否正常。

进行录制

 录制完毕后,添加查看结果树

把 会发生变化的值,通过正则表达式提取出来,设置为变量。

 

 

把点击发帖和发帖通过事务控制器合并为一个事务。

 

 

 

 仅一次控制器:一般用于控制登录的

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

每个线程组的总请求为 100*3=300

 

 并发数设置:参考运营,或者评估测算

posted @ 2024-03-16 22:59  越长大越孤单哦  阅读(372)  评论(0编辑  收藏  举报