iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Jmerte分布式压测及分布式压测配置教程
  • 382
分享到

Jmerte分布式压测及分布式压测配置教程

2024-04-02 19:04:59 382人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

目录1.本地基于jmeter创建压测项目2.将项目打包3.Master配置4.Slave配置5.启动Slave6.master启动压测7查看报告1.本地基于jmeter创建压测项目

1.本地基于jmeter创建压测项目

(1)pom中依赖jmeter包:

 <dependency>
            <groupId>org.apache.jmeter</groupId>
            <artifactId>ApacheJMeter_java</artifactId>
             <version>5.2.1</version>
       </dependency>

(2)pom中增加打包方式


<build>
    <plugins>
        <plugin>
            <groupId>org.apache.Maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
                <fork>true</fork>
                <verbose>true</verbose>
                <encoding>UTF-8</encoding>
                <compilerArguments>
                    <extdirs>${project.basedir}/lib</extdirs>
                </compilerArguments>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <configuration>
                <WEBResources>
                    <resource>
                        <!--配置本地jar包在项目中的存放路径-->
                        <directory>${project.basedir}/lib</directory>
                        <!--配置打包时jar包的存放路径-->
                        <targetPath>${project.basedir}/lib</targetPath>
                        <includes>
                            <include>**/*.jar</include>
                        </includes>
                    </resource>
                </webResources>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration>
                <!-- 忽略测试 -->
                <skip>false</skip>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <configuration>
                <arcHive>
                    <manifestEntries>
                        <Rose>*</Rose>
                    </manifestEntries>
                </archive>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-dependency-plugin</artifactId>
            <executions>
                <execution>
                    <id>copy-dependencies</id>
                    <phase>prepare-package</phase>
                    <Goals>
                        <goal>copy-dependencies</goal>
                    </goals>
                    <configuration>
                        <outputDirectory>${project.build.directory}/lib</outputDirectory>
                        <overWriteReleases>false</overWriteReleases>
                        <overWriteSnapshots>false</overWriteSnapshots>
                        <overWriteIfNewer>true</overWriteIfNewer>
                    </configuration>
                </execution>
            </executions>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-assembly-plugin</artifactId>
            <version>2.5.5</version>
            <configuration>
                <descriptorRefs>
                    <descriptorRef>jar-with-dependencies</descriptorRef>
                </descriptorRefs>
            </configuration>
        </plugin>
    </plugins>
</build>

(3)编写压测脚本:

继承AbstractJavaSamplerClient,并实现runTest方法。

public class StessTest extends AbstractJavaSamplerClient {
    @Override
    public void setupTest(JavaSamplerContext javaSamplerContext) {
    }
    @Override
    @SneakyThrows
    public SampleResult runTest(JavaSamplerContext javaSamplerContext) {
        SampleResult sampleResult = new SampleResult();
        try {
            sampleResult.sampleStart();
            String result= 请求接口;
            sampleResult.setResponseData(result, "UTF-8");
            sampleResult.setSuccessful(false);
            TimeUnit.SECONDS.sleep(1L);
        } catch (Exception e) {
            e.printStackTrace();
            sampleResult.setResponseData(e.getLocalizedMessage(), "UTF-8");
            sampleResult.setResponseCode(e.getMessage());
            sampleResult.setSuccessful(false);
        } finally {
            sampleResult.sampleEnd();
        }
        return sampleResult;
    }
    @Override
    public void teardownTest(JavaSamplerContext javaSamplerContext) {
            super.teardownTest(javaSamplerContext);
    }
    @Override
    public Arguments getDefaultParameters() {
        return null;
    }

2.将项目打包

将本地maven测试项目打成jar包:

mvn -U clean insall package

打包完后,有两个地方的包:target\lib、target下面的包

首先本地调试压测脚本是否生效

(1)创建一个线程组:

 这里可以配置线程组名称,线程数,准备时长、循环次数,调度器等参数

(2)创建java请求

 选好测试的方法,本地执行一下,看可以跑通后,去远程机器压测。

确定好Master和Slave机器,及被压测服务所在的机器。且master机器 及slave机器上都配置相同版本的jmeter。

将项目依赖的jar包都放到slave机器 jmeter\lib\ext路径下面。

3.Master配置

编辑$JMETER_HOME/bin/jmeter.properties文件

分别配置remote_hosts,和server.rmi.ssl.disable,端口号

server.rmi.ssl.disable=true
server.rmi.localport=1099
server_port=1099
remote_hosts=ip1,ip2,ip3,ip4,ip5,ip6

4.Slave配置

(1)所有的slave机器上对应修改 $JMETER_HOME/bin/jmeter.properties文件

server.rmi.ssl.disable=true

(2)所有的slave机器需要在$JMETER_HOME/lib/ext下放压测脚本依赖的jar包

5.启动Slave

每台slave机器上都启动jmeter

直接启动

$JMETER_HOME/bin/jmeter-server

或者指定机器的ip启动(建议指定ip启动)

jmeter-server -Djava.rmi.server.hostname=xxx (机器的ip地址)

6.master启动压测

onlinePressTest.jmx是用界面版jmeter生成的一个线程组,保存下来,放到master机器上

运行压测脚本:

jmeter -n -r -t onlinePressTest.jmx -l stressTest.jtl -e -o webStressTest

7查看报告

stressTest.jtl 是压测结果,可以导出到本地,使用jmeter打开,获取报告

到此这篇关于Jmerte分布式压测,及分布式压测配置的文章就介绍到这了,更多相关Jmerte分布式压测内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Jmerte分布式压测及分布式压测配置教程

本文链接: http://www.lsjlt.com/news/147800.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Jmerte分布式压测及分布式压测配置教程
    目录1.本地基于jmeter创建压测项目2.将项目打包3.Master配置4.Slave配置5.启动Slave6.master启动压测7查看报告1.本地基于jmeter创建压测项目 ...
    99+
    2024-04-02
  • Jmerte分布式压测及分布式压测配置的方法
    这篇文章主要介绍“Jmerte分布式压测及分布式压测配置的方法”,在日常操作中,相信很多人在Jmerte分布式压测及分布式压测配置的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Jmerte分布式压测及分...
    99+
    2023-06-30
  • SpringCloudConfig分布式配置中心使用教程介绍
    目录一、简介二、使用三、热刷新四、Spring Cloud Bus(消息总线)一、简介 Spring Cloud Config为分布式系统中的配置提供服务器端和客户端支持。可以集中管...
    99+
    2022-12-09
    Springcloud Config配置中心 Springcloud Config分布式配置中心
  • ubuntu伪分布式怎么配置
    本文小编为大家详细介绍“ubuntu伪分布式怎么配置”,内容详细,步骤清晰,细节处理妥当,希望这篇“ubuntu伪分布式怎么配置”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。ubuntu伪分布式的配置示例:安装“...
    99+
    2023-07-04
  • ubuntu伪分布式如何配置
    ubuntu伪分布式的配置示例:安装“ssh server”。再安装“sun jdk6”,必须要java6及其以上版本。生成SSH证书,配置SSH加密key,操作步骤:www@ubuntu:~$ su – wwwPassword:www@u...
    99+
    2024-04-02
  • Java分布式教程:学习笔记分享!
    Java分布式是一个非常重要的知识点,它可以让我们在多台服务器上部署应用程序,从而提高应用程序的可伸缩性和可靠性。本文将分享一些Java分布式的学习笔记,包括分布式原理、分布式架构、分布式锁、分布式缓存、分布式事务等方面的内容。同时,我们...
    99+
    2023-08-31
    教程 学习笔记 分布式
  • ZooKeeper框架教程Curator分布式锁实现及源码分析
    目录  如何使用InterProcessMutex  实现思路   代码实现概述  InterProcessMutex源码分析&nb...
    99+
    2024-04-02
  • 详解redis分布式锁(优化redis分布式锁的过程及Redisson使用)
    目录1. redis在实际的应用中2.如何使用redis的功能进行实现分布式锁2.1 redis分布式锁思想2.1.1设计思想:2.1.2 根据上面的设计思想进行代码实现2.2 使用...
    99+
    2024-04-02
  • kubernetes中如何实现分布式负载测试Locust
    这篇文章主要介绍了kubernetes中如何实现分布式负载测试Locust,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一: 前言  本文介绍如何在Kubernet...
    99+
    2023-06-04
  • SpringBoot配置ShedLock分布式定时任务
    什么是ShedLock ShedLock是一个在分布式环境中使用的定时任务框架,用于解决在分布式环境中的多个实例的相同定时任务在同一时间点重复执行的问题,解决思路是通过对公用的数据...
    99+
    2024-04-02
  • 《GO分布式教程:索引技巧大揭秘,轻松掌握分布式搜索!》
    随着互联网的不断发展和云计算技术的普及,分布式系统已经成为了现代软件系统中的重要组成部分。在这些分布式系统中,可以使用分布式搜索技术来实现快速的数据检索和查询。而GO语言作为一种高效、可靠、并发性强的编程语言,已经成为了分布式搜索领域中的...
    99+
    2023-06-08
    分布式 教程 索引
  • SpringCloud分布式微服务云架构 第六篇: 分布式配置中心(Spring Cloud Config)
    一、简介在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件。在Spring Cloud中,有分布式配置中心组件spring cloud config ,它支持配置服务放在配置服务的内存中(即...
    99+
    2023-06-05
  • Go 语言分布式编程教程:如何解决分布式系统中的常见问题?
    随着互联网的发展,分布式系统在企业级应用中越来越普遍。分布式系统可以提高系统的可靠性、可扩展性和性能。然而,在分布式系统中,有许多常见问题需要解决,例如网络延迟、节点故障、数据一致性等。在本篇文章中,我们将介绍如何使用 Go 语言解决分布...
    99+
    2023-08-26
    分布式 教程 面试
  • 利用Redis实现分布式配置管理
    利用Redis实现分布式配置管理背景介绍随着互联网应用和系统规模的不断扩大,分布式配置管理变得愈发重要。分布式配置管理有利于统一管理系统中的配置信息,相较于传统的配置文件管理,其能够提供更好的扩展性、灵活性和实时性。本文将介绍如何利用Red...
    99+
    2023-11-08
    分布式 redis 配置管理
  • 【云原生】springcloud13——Config分布式配置中心
    前 言 🍉 作者简介:半旧518,长跑型选手,立志坚持写10年博客,专注于java后端 ☕专栏简介:深入、全面、系统的介绍springcloud与springcloud Alib...
    99+
    2023-09-01
    云原生 分布式 java spring cloud Config
  • Python爬虫教程-34-分布式爬虫介
    Python爬虫教程-34-分布式爬虫介绍 分布式爬虫在实际应用中还算是多的,本篇简单介绍一下分布式爬虫 什么是分布式爬虫 分布式爬虫就是多台计算机上都安装爬虫程序,重点是联合采集。单机爬虫就是只在一台计算机上的爬虫。 其实搜索引擎...
    99+
    2023-01-30
    爬虫 分布式 教程
  • apllo开源分布式配置中心详解
    目录什么是apllo开源分布式配置中心?apllo开源分布式配置中心有什么优势?如何部署apllo开源分布式配置中心?如何在springBoot项目中获取apollo的配置?什么是a...
    99+
    2023-02-22
    apllo开源分布式配置 apllo 分布式配置
  • SpringCloud分布式微服务云架构 第七篇: 高可用的分布式配置中心(Config)
    上一篇文章讲述了一个服务如何从配置中心读取文件,配置中心如何从远程git读取配置文件,当服务实例很多时,都从配置中心读取文件,这时可以考虑将配置中心做成一个微服务,将其集群化,从而达到高可用,架构图如下:一、准备工作继续使用上一篇文章的工程...
    99+
    2023-06-05
  • 手写简版kedis分布式key及value服务的实现及配置
    目录前言rocksdb特征RestExpress实现kedis创建服务并绑定端口创建RocksDB引擎api操作类设置请求路由启动插入数据获取数据文末结语前言 今天博主主要介绍两个开...
    99+
    2024-04-02
  • 想学习分布式教程?试试ASP和Django!
    分布式系统是一个由多个独立计算机组成的系统,这些计算机通过网络连接在一起,相互协作完成一个共同的任务。分布式系统的应用范围非常广泛,例如大型网站、云计算、物联网等领域。如果你想学习分布式系统,那么ASP和Django是两个非常不错的选择。...
    99+
    2023-11-08
    django 分布式 教程
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作