二、Jmeter Web压测

瑞星  金牌会员 | 2024-12-29 04:42:32 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 851|帖子 851|积分 2553

一、JMeter简介

Apache JMeter是一款开源的性能测试工具,紧张用于对软件系统进行负载测试、压力测试和性能测试,它可以模仿大量用户并发访问Web应用程序等各种系统,以评估系统的性能、稳固性和资源利用环境。
二、安装JMeter


  • 下载JMeter

    • 可以从Apache JMeter官方网站(https://jmeter.apache.org/)下载最新版本的JMeter。根据操纵系统选择符合的安装包,如Windows可以下载zip格式的压缩包,解压后即可利用;Linux可以下载tgz格式的压缩包,解压后配置环境变量来利用。

  • 配置环境(可选)

    • 对于Windows系统,解压后可以将JMeter的bin目次添加到系统环境变量的Path中,方便在命令行中直接启动JMeter。
    • 对于Linux系统,需要在解压后的目次下,编辑.bashrc大概.bash_profile文件,添加雷同export PATH=$PATH:/path/to/jmeter/bin(其中/path/to/jmeter是JMeter的实际解压路径),然后执行source.bashrc或source.bash_profile使配置见效。

  • 具体安装方法请看主页
三、利用JMeter进行Web压测的根本步骤

(一)创建测试计划


  • 打开JMeter

    • 启动JMeter后,会看到一个空缺的测试计划界面。测试计划是JMeter测试的最高级别元素,它包含了全部的测试配置和测试元素。


  • 添加线程组

    • 右键点击测试计划,选择“添加”->“线程(用户)”->“线程组”。线程组用于定义模仿的用户数量、用户哀求的频率等参数。

    • 在“线程组”配置界面中:

      • 线程数(用户数):例如设置为100,表示将模仿100个用户同时访问。
      • Ramp - Up时间(秒):用于设置全部线程启动的时间间隔。如果设置为10秒,那么100个线程会在10秒内渐渐启动,平均每秒启动10个线程。这样可以模仿更真实的用户访问场景,避免全部效户同时哀求对服务器造成过大打击。
      • 循环次数:可以设置每个线程发送哀求的次数。如果设置为“永远”,则线程会不停循环发送哀求,直到手动停止测试。



(二)添加HTTP哀求


  • 添加HTTP哀求默认值(可选)

    • 右键点击线程组,选择“添加”->“配置元件”->“HTTP哀求默认值”。在这里可以设置服务器的IP地点或域名、端标语(默认HTTP为80,HTTPS为443)等公共信息。这样在后续添加具体的HTTP哀求时,就不需要重复设置这些根本信息。


  • 添加HTTP哀求

    • 右键点击线程组,选择“添加”->“取样器”->“HTTP哀求”。
    • 在“HTTP哀求”配置界面中:

      • 协议:可以选择HTTP大概HTTPS。
      • 服务器名称或IP:填写要测试的Web服务器的域名或IP地点。
      • 端标语:根据实际环境填写,如果是HTTP默认是80,HTTPS默认是443。
      • 路径:填写Web应用程序中的具体资源路径,如/index.html大概/api/user等。



(三)添加监听器


  • 检察结果树

    • 右键点击线程组,选择“添加”->“监听器”->“检察结果树”。这个监听器可以让我们检察每个哀求的具体信息,包罗哀求头、哀求体、响应头、响应体等内容。在测试过程中,可以通过它来检查哀求是否正确发送,以及服务器返回的响应是否符合预期。


  • 汇总报告

    • 右键点击线程组,选择“添加”->“监听器”->“汇总报告”。汇总报告提供了测试的总体统计信息,如平均响应时间、最小响应时间、最大响应时间、吞吐量(每秒处理的哀求数)等。这些统计信息可以资助我们评估系统的性能。


(四)运行测试


  • 保存测试计划

    • 在运行测试之前,最好先保存测试计划,方便以后再次利用和修改。选择“文件”->“保存”,并选择一个符合的保存位置和文件名。

  • 启动测试

    • 点击工具栏上的“启动”按钮大概选择“运行”->“启动”来开始测试。在测试过程中,可以通过监听器检察测试结果。

  • 分析测试结果

    • 根据汇总报告中的数据,如响应时间过长大概吞吐量过低,可能表示系统存在性能瓶颈。可以进一步分析检察结果树中的哀求和响应,查找可能的原因,如网络问题、服务器配置不敷、代码逻辑复杂等。


四、高级应用

(一)添加断言


  • 响应断言

    • 右键点击HTTP哀求,选择“添加”->“断言”->“响应断言”。在响应断言中,可以设置预期的响应内容,如包含特定的文本、匹配某个正则表达式等。例如,可以断言响应中包含“success”字样,来验证哀求是否成功处理。


  • 断言结果

    • 为了检察断言的结果,需要添加“断言结果”监听器。右键点击线程组,选择“添加”->“监听器”->“断言结果”。在测试过程中,如果断言失败,会在断言结果监听器中显示相应的错误信息。


(二)参数化


  • CSV数据文件设置

    • 右键点击线程组,选择“添加”->“配置元件”->“CSV数据文件设置”。通过配置CSV文件,可以将测试数据从文件中读取并用于哀求参数。例如,在测试用户登录功能时,可以将用户名username和密码password存储在CSV文件中,每行代表一组用户名和密码,然后在变量名称中增补需要利用的变量名称,多个变量名用英文逗号隔开,HTTP哀求中将参数设置为从CSV文件中读取的值,利用${变量名},例如${username}。


  • 用户自定义变量

    • 右键点击测试计划,选择“添加”->“配置元件”->“用户自定义变量”。在这里可以定义一些变量,如服务器的URL等,然后在HTTP哀求等元素中引用这些变量。这样可以方便地修改测试配置,而不需要在多个地方进行修改。


(三)分布式测试


  • 设置主从服务器

    • JMeter支持分布式测试,可以将测试负载分布到多个从服务器上执行。首先,在主服务器的JMeter安装目次下,编辑jmeter.properties文件,设置remote_hosts属性,指定从服务器的IP地点,多个IP地点之间用逗号分隔。

  • 启动从服务器

    • 在从服务器上,进入JMeter的bin目次,执行jmeter -s -Jserver.rmi.ssl.disable=true(如果没有启用SSL)来启动从服务器。

  • 在主服务器上运行分布式测试

    • 在主服务器的测试计划中,右键点击线程组,选择“远程启动”来启动分布式测试,测试哀求会被分配到各个从服务器上执行,从而进步测试的负载能力。

  • 具体分布式测试见主页
四、附图



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

瑞星

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表