1. 程式人生 > >Jmeter——Jmeter測試dubbo介面

Jmeter——Jmeter測試dubbo介面

public class DemoServiceImpl implements DemoService{

	@Override
	public String getStr(String first, String second) {
		return first+" ___" +second+"___";
	}
}
4、新建log4j配置檔案5、新建xml檔案
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
	xsi:schemaLocation="http://www.springframework.org/schema/beans  
        http://www.springframework.org/schema/beans/spring-beans.xsd  
        http://code.alibabatech.com/schema/dubbo  
        http://code.alibabatech.com/schema/dubbo/dubbo.xsd  
        ">
	<bean id="demoService" class="com.wx.provider.impl.DemoServiceImpl" />
	<dubbo:application name="wuxi-dubbo-provider" />
	<dubbo:registry address="zookeeper://localhost:2181" />
	<!-- 用dubbo協議在20880埠暴露服務 -->
	<dubbo:protocol name="dubbo" port="20880" /> 
	<!-- 宣告需要暴露的服務介面 -->
	<dubbo:service interface="com.wx.provider.DemoService"
		ref="demoService" />
</beans>
6、pom檔案
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<groupId>com.wuxi</groupId>
	<artifactId>Wuxi-Dubbo-Provider</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>jar</packaging>

	<name>Wuxi-Dubbo-Provider</name>
	<url>http://maven.apache.org</url>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
	</properties>

	<dependencies>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>3.8.1</version>
			<scope>test</scope>
		</dependency>
		    <!-- http://mvnrepository.com/artifact/com.alibaba/dubbo -->
     <dependency>
	    <groupId>com.alibaba</groupId>
	    <artifactId>dubbo</artifactId>
	    <version>2.5.3</version>
     </dependency>
    <!-- http://mvnrepository.com/artifact/com.101tec/zkclient -->
	<dependency>
	    <groupId>com.101tec</groupId>
	    <artifactId>zkclient</artifactId>
	    <version>0.8</version>
	</dependency>
    <!-- http://mvnrepository.com/artifact/org.apache.zookeeper/zookeeper -->
	<dependency>
	    <groupId>org.apache.zookeeper</groupId>
	    <artifactId>zookeeper</artifactId>
	    <version>3.4.8</version>
	    <!-- <type>pom</type> -->
	</dependency>
  </dependencies>
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>2.3.2</version>
        <configuration>
          <source>1.7</source>
          <target>1.7</target>
        </configuration>
      </plugin>
      <plugin>  
	    <groupId>org.apache.maven.plugins</groupId>  
	    <artifactId>maven-resources-plugin</artifactId>  
	    <version>2.6</version>  
	     <configuration>  
	       <encoding>utf-8</encoding>  
	     </configuration>  
      </plugin>
    </plugins>
  </build>
  
</project>
7、執行類,啟動service註冊到zk提供者執行主要結果如下:表示該服務成功註冊,作為服務提供者三、搭建dubbo消費者1、mvn install:將provider進行打包,供消費者專案呼叫2、新建maven專案新增依賴:provider包,jmeter版本的jar包,zk、dubbo等jar包具體pom檔案如下:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.wuxi</groupId>
  <artifactId>Wuxi-Dubbo-Customer</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>Wuxi-Dubbo-Customer</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    
	<!-- http://mvnrepository.com/artifact/com.alibaba/dubbo -->
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>dubbo</artifactId>
			<version>2.5.3</version>
		</dependency>
		<!-- http://mvnrepository.com/artifact/com.101tec/zkclient -->
		<dependency>
			<groupId>com.101tec</groupId>
			<artifactId>zkclient</artifactId>
			<version>0.8</version>
		</dependency>
		<!-- http://mvnrepository.com/artifact/org.apache.zookeeper/zookeeper -->
		<dependency>
			<groupId>org.apache.zookeeper</groupId>
			<artifactId>zookeeper</artifactId>
			<version>3.4.8</version>
			<!-- <type>pom</type> -->
		</dependency>
		
		<dependency>
			<groupId>javabuilder</groupId>
			<artifactId>javabuilder</artifactId>
			<version>0.0.1-SNAPSHOT</version>
			<scope>system</scope>
			<systemPath>${project.basedir}/src/main/Wuxi-Dubbo-Provider-0.0.1-SNAPSHOT.jar</systemPath>
		</dependency>
	


		<!-- java jmeter依賴jar包 -->
		<dependency>
			<groupId>org.apache.jmeter</groupId>
			<artifactId>ApacheJMeter_core</artifactId>
			<version>3.2</version>
		</dependency>
		<dependency>
			<groupId>org.apache.jmeter</groupId>
			<artifactId>ApacheJMeter_java</artifactId>
			<version>3.2</version>
		</dependency>





	</dependencies>
	<build>
		<plugins>
			<plugin>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>2.3.2</version>
				<configuration>
					<source>1.7</source>
					<target>1.7</target>
				</configuration>
			</plugin>
			<plugin>
				<artifactId>maven-war-plugin</artifactId>
				<version>2.2</version>
				<configuration>
					<version>3.1</version>
					<failOnMissingWebXml>false</failOnMissingWebXml>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-resources-plugin</artifactId>
				<version>2.6</version>
				<configuration>
					<encoding>utf-8</encoding>
				</configuration>
			</plugin>

			<!--打包生成依賴的jar包 -->

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jar-plugin</artifactId>
				<configuration>
					<archive>
						<manifest>
							<addClasspath>true</addClasspath>
							<classpathPrefix>lib/</classpathPrefix>
							<mainClass>com.wx.jmeter.dubbo.JmeterDubboLoadTest</mainClass>
						</manifest>
						<manifestEntries>
							<Class-Path>.</Class-Path>
						</manifestEntries>
					</archive>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-dependency-plugin</artifactId>
				<executions>
					<execution>
						<id>copy</id>
						<phase>install</phase>
						<goals>
							<goal>copy-dependencies</goal>
						</goals>
						<configuration>
							<outputDirectory>
								target/lib
							</outputDirectory>
						</configuration>
					</execution>
				</executions>
			</plugin>


		</plugins>
	</build>
</project>

3、新增customer.xml:zk地址,rpc介面4、新增log4j配置5、jmeter測試類,跟測試java介面唯一不同的是方法的引用,其他測試方法一樣
      //方法的引用 
	private ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(
			new String[] { "customer.xml" });
        
	DemoService demoService = (DemoService) context.getBean("demoService");
	String c = demoService.getStr(a, b);
可以在main裡進行簡單除錯四、jar包新增到jmeter/lib/ext目錄下1、mvn install ,打包:dubbo介面及依賴的jar包2、依賴的jar包在target/lib下3、所有jar包copy到jmeter/lib/ext目錄下4、開啟jemter會報錯,重複的jar刪除ext對應的jar包即可再次開啟成功五、jmeter進行測試執行成功:

相關推薦

使用Jmeter測試Dubbo介面

WebSocket介面需要下載dubbo外掛才能使用 本次下載的版本為jmeter-plugins-dubbo-1.3.6 由於工作需要,最近需要對dubbo介面進行測試,查詢了很多資料,最後除錯通過,記錄下 以前也用Jmeter對dubbo介面進行過測試,需要使用jav

Jmeter——Jmeter測試dubbo介面

public class DemoServiceImpl implements DemoService{ @Override public String getStr(String first, String second) { return first+" ___" +second+"___";

jmeter 壓測dubbo介面

測試內容:還原 dubbo 執行緒池耗盡的情況,定位是服務端還是消費端問題。jmeter 測試程式碼:RiskcoreThreatMetrix.javapackage riskcoreService;import com.test.riskcore.api.ThreatMet

介面測試 dubbo 介面測試技術

dubbo是什麼dubbo是阿里巴巴開源的一套rpc方案,以為理念很契合微服務,這幾年很火,使用者裡面不凡京東,噹噹,去哪兒等大公司。rpc場景dubbo架構官網也提供了一個很簡單實用的demo來演示dubbo協議的使用,用起來的確很簡單強大。dubbo demo基於teln

jmeterdubbo介面測試

最近工作中接到一個需求,需要對一個MQ訊息佇列進行效能測試,測試其消費能力,開發提供了一個dubbo服務來供我呼叫傳送訊息。 這篇部落格,介紹下如何利用jmeter來測試dubbo介面,並進行效能測試。。。   一、Dubbo簡介 dubbo是一個分散式服務框架,致力於提供高效能和透明化的R

用阿里巴巴官方給Jmeter開發的Dubbo sampler取樣器進行dubbo介面測試【圖解剖析】

(本文圖片過於橫長,請右鍵新視窗開啟本文截圖) 【一】Dubbo sampler下載地址:       該外掛支援jmeter 3.2及3.2以上版本。       現在很多網際網路公司開發的系統中,越來越多的介面漸漸從http/https呼叫,改成了dubbo方式,原

Jmeter測試】使用Java請求進行Dubbo介面測試

使用json檔案來構造測試資料 java程式只對json檔案進行解析 介面呼叫成功後,用json檔案中的期望資料來對介面返回資料進行比對,判斷呼叫是否成功 json檔案的定義 { "Connection": { "URL": "101.219.255.7

使用jmeter+ant+jenkins實現介面自動化測試

本次使用linux環境搭建自動化框架 配置ANT  首先下載Ant壓縮包,下載地址https://ant.apache.org/bindownload.cgi 解壓下載的ant包,然後複製jmeter/extras下的ant-jmeter-1.1.1.jar檔案放到ant的lib目錄 然後對該檔

使用Jmeter測試Restful介面

一、新增執行緒組等元件 新增執行緒組 新增執行緒組,Jmeter執行是通過執行緒組進行驅動的,測試計劃必須最少有一個執行緒組,選中Test Plan,點選右鍵,新增》Threads》執行緒組 新增使用者引數 線上程組上新

使用Jmeter測試WebSocket介面

WebSocket介面需要下載相應的外掛才能進行測試 一、新增執行緒組 新增執行緒組等其他元件 新增執行緒組,Jmeter執行是通過執行緒組進行驅動的,測試計劃必須最少有一個執行緒組,選中Test Plan,點選右鍵,新增》Threads》執行緒組

使用Jmeter測試Dubbo接口

mave amp 測試 json pla 51cto 技術 3.6 很多 WebSocket接口需要下載dubbo插件才能使用 本次下載的版本為jmeter-plugins-dubbo-1.3.6 由於工作需要,最近需要對dubbo接口進行測試,查詢了很多資料,最後調試通

實戰Jmeter壓測Dubbo服務介面 | 併發程式設計網

一、前言 最近在做一些業務上雲的專案,其中遠端Rpc呼叫方式我們選擇了Dubbo,為便於收集壓測資訊,我們選擇了使用Jmeter來做壓測工具,本文就來簡單介紹如何使用Jmeter壓測Dubbo服務介面,以及需要注意的事情。 二、Jmeter使用 2.1 下載Jmeter imag

jmeter+ant+jenkins 搭建介面自動化測試

一、jmeter  jmeter要執行,必須本地有java環境,所以需要配置jdk什麼的,自行配置 二、ant 安裝ant 第一步:下載ant  http://ant.apache.org/ 第二步:配置ant  window中設定ant環境變數: 以下是我電腦ant配置 ANT_HOME    C:/ ap

Jmeter+Ant+Jenkins構建介面自動化測試平臺(Windows)

一. 環境準備安裝Jmeter,配置相關環境;安裝Ant:          新建ANT_HOME:D:\Testing\02-TestTools\Ant\apache-ant-1.10.1在Path中新增:%ANT_HOME%\bin    配置完成後,開啟cmd視窗,輸入

jmeter java sampler測試java介面(二)測試自己的程式碼

前面一節是解析javatest程式碼,這一節進行簡單的方法測試 測試程式碼 : 傳入一個Str值,放到集合裡面遍歷集合在日誌中打印出來。 說明: 1 執行時間:在 results.sampleStart()和 results.sampleEnd();

jmeter測試http介面

早前測試介面都是用chrome的外掛postman,一般用著還不錯,只不過涉及引數化和指令碼複用方面就不太方便了。 有朋友推薦使用jmeter測試效能,可能因為jmeter在對介面支援上比較好,所以在對介面做效能測試的時候,jemter成了一個比較好的選擇。重點是它是開

jmeter java sampler測試java介面(一)javatest解讀

jmeter線上api文件 http://jmeter.apache.org/api/overview-summary.html 首先分析javatest的原始碼。 getDefaultParameters()方法返回一個Arguments,這是獲取入參

利用Jmeter完成簡單的介面效能測試

一.效能測試指標 在用jmeter做效能測試之前,首先要回顧下效能測試的關鍵指標 1.系統吞吐量 throughput 單位時間內系統的請求數目 在沒有達到效能瓶頸時吞吐量和虛擬使用者間存在一定的聯絡  F=VU * R /T ——VU:虛擬使用者數,R:每個使用者發出的請

效能測試--聯合使用jvisualVM與jmeter進行效能測試介面效能分析

在使用PerfTest進行介面的測試之後,該工具可以進行簡單的效能測試,但是對於http請求進行模擬不方便,趁這次機會,學習使用jmeter進行效能測試及分析。 之前用過jvisualVM,本次就結合jmeter一起,進行效能測試與原因分析。本篇文章分為兩大部

Jmeter測試簽名介面獲得sign串

引數簽名可以保證開發的者的資訊被冒用後,資訊不會被洩露和受損。原因在於接入者和提供者都會對每一次的介面訪問進行簽名和驗證。 簽名sign的方式是目前比較常用的方式。 舉例(根據專案具體情況而定,這裡只