當前位置:首頁 » 文件傳輸 » jmeter訪問url模擬緩存
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

jmeter訪問url模擬緩存

發布時間: 2022-08-09 03:16:18

Ⅰ 如何用Jmeter做壓力測試

然後是運維視角指標,HP的是LoadRunner,又或者需要了解系統具體業務的問題、快捷的通過它的性能圖表了解Web應用的大致性能表現,各項指標表現不在優秀范圍內就是不理想呢。具體要考慮的視角由項目干係人,這些指標的閾值一旦被超出:腳本測試數據符合典型用戶的數據差異(測試差異、最大響應時間、業務間間隔等)腳本執行符合典型用戶的使用環境(瀏覽器緩存模擬:首先是用戶視角的性能指標、「可靠性測試」;2秒響應、「疲勞測試」這些測試的概念、關鍵角色定義?也不一定,但既然問題是",良好 <,在2倍的峰值負載中,那麼還是選擇一個那些容易支撐起復雜業務的性能場景的工具吧,要看正常的峰值負載持續時間長短是否合理,甚至沒有多少案例可以借鑒,超出可容忍上線關於用戶性能體驗的指標一般會劃分為4個級別,那麼對於這一項指標來說.5倍峰值的負載。 系統在任何時候都應該為用戶提供優秀的響應體驗嗎,再開始為這些指標定義閾值;10秒響應,5秒以內響應是一般,這不是回答測試工具用哪個好?什麼樣的工具能夠讓你模擬用戶所處於的使用環境?代表促銷活動的負載。 什麼樣的工具能夠在腳本中讓你模擬業務場景中一個用戶的行為?答案肯定不會是那些對某個URL不斷施壓的那些工具、「配置測試」。那是不是說在正常的峰值負載中、運維通過這些指標來了解目前應用的處理能力,點擊率,那麼場景一般是不必繼續執行的,我們通過著一些指標來判斷用戶實際獲得的性能體驗如何、各種硬體資源佔用。 場景設計中。 關於場景的設計過程我所了解的情況來看;正確的壓力測試",優秀 <,重點考慮的問題,但其實工具並不是最重要的;5秒響應、帶寬模擬等)測試環境的業務基礎數據必須合理(0年到N年的基礎數據)測試場景所產生的負載必須合理(代表峰值的負載,那麼多的測試工具,超出8秒則會感覺太慢: ,AB不是說不行的,或者需要掌握哪一些知識點很難,過半數的性能測試人員並不了解自己執行的性能測試場景代表的是用戶生產環境中什麼樣的場景

Ⅱ JMeter測試,提高Tomca性能,鏈接池

1、JMete功能是比較多的,可以編寫測試用例,簡單的斷言,性能測試等。但是對數據合法等不是很准確,可能需要人工來干預。具體使用可以在網上找一下。
2、現在項目用的c3p0,網上反應prxool也不錯。jndi沒接觸過,之間差別不是太大吧。
3、oracle性能沒怎麼做過,好像是可以通過配置一些參數來優化。但是個人觀點可能你優化你的sql或Hql語句,以及優化你的資料庫表設計,比如適當的建立索引等可能效果會更好一些。

Ⅲ 請問Jmeter進行介面功能測試操作步驟是怎樣的

操作步驟:

1、指定介面功能測試相關測試計劃

2、從 API 文檔提取介面清單

3、編寫測試用例並設計測試數據

4、編寫測試腳本並導入測試數據
5、執行腳本並逐條比對每條測試數據的實際結果與預期結果是否一致
各步驟主要實現:
1、指定介面功能測試相關測試計劃
對程序不同模塊進行任務劃分,一般包括: 模塊以及相關描述,指定該模塊主要責任人,工期,預期產出以及當前進度等
2、從 API 文檔提取介面清單
API 文檔對各個介面實現具有完整且詳細的流程說明,以及舉例,但是對於我們測試而言,內容相對冗餘,測試前期,一般會對API文檔的各個介面,進行簡化,壓縮,提取介面測試時必須數據,以提高介面測試效率,其中簡化壓縮的結果就是介面清單
3、編寫測試用例並設計測試數據
功能測試時,模擬用戶的多樣性操作設計測試數據是核心實現之一,該過程大致通過兩步驟實現:

步驟1: 設計測試用例,該過程是抽象的非具體的實現,是要聲明預期使用那些類型的測試數據,而不設計具體數據,設計測試用例時原則主要有如下幾點:

a)、覆蓋所有必選參數
b)、組合可選參數
c)、設計邊界值數據
d)、設計超出范圍的數據
e)、覆蓋所有枚舉值
f)、設計錯誤數據
g)、設計特殊符號數據
.....

另外,設計時需要在測試用例中聲明該介面訪問的 URL,請求方式以及預期結果等
步驟2: 根據測試用例聲明的數據類型,設計具體的測試數據,此過程為具體非抽象的實現,最終設計的數據一般會被保存在csv文件中

4、編寫測試腳本並導入測試數據

功能測試時,需要針對同一功能腳本提交多條不同的測試數據,此實現中,一般使用 CSV Data Set Config 來讀取批量數據,動態的參數化的獲取並設置測試數據,可以提高測試效率

5、執行腳本並逐條比對每條測試數據的實際結果與預期結果是否一致

步驟4批量操作完畢,要將提交的每條測試數據的執行結果與測試用例中對應的執行結果,相比對,如果預期與實際結果一致,一般無 BUG,不一致時,則可能有 BUG,當然對具體實現有疑議,可以寫入備注
以上內容均來自傳智播客論壇,還有相關配套視頻課程。找不到就官網對話框領取。

Ⅳ jmeter http請求是否會緩存靜態資源

恩,可以的。。

Ⅳ jmeter訪問其它站點是能錄制腳本但訪問本地tomcat時卻不能錄制腳本 請問是怎麼回事

官網說tomcat的並發訪問量可以達到2萬左右我也親自驗證過,因此自然不會是伺服器的原因,問題應該在於你的Hibernate配置文件中的
<property name="maxPoolSize"></property>這個屬性改大點,估計還有一些其他的屬性要改,比如
<property name="c3p0.max_statements"></property>
這個你可以根據你的網站運行狀況進行調整,可以在sql server中查看連接的使用情況以確定你的配置屬性。
另外,對於你這種高交互的資料庫操作,建議你採用badboy和jmeter進行腳本錄制測試,結合這些工具你就可以找到性能與穩定兼得的具體數據。
謝謝

補充:
對於c3p0連接池的確有很多不好的地方,proxool雖然復雜但是卻更加穩定。
另外,對於極耗資源的資料庫操作,可以考慮一下緩存的使用,當然前提是你對它有足夠的了解。

Ⅵ 有什麼方法調用jmeter的介面

如何用Jmeter做壓力測試
Jmeter是一個性能測試工具,同loadrunner類似,他功能較多,我們常用的功能是用jmeter模擬多瀏覽器對網站做壓力測試。
下載jmeter地址 :
我們一般的網站,在進入業務功能前先需登錄,然後才能訪問業務功能。下面介紹如何用jmeter登錄系統再對主業務做壓力測試。
1. 運行jmeter
2. 左邊樹將出現測試計劃、工作台兩根節點。
3. 選擇測試計劃,按右鍵-》添加-》threads(users)線程組
線程組能設置以多少個線程並發做壓力測試。
在「循環次數」設置不選擇永遠,循環次數設置1。
4. 現在先介紹如何設置登錄http請求,選擇線程組,右鍵――添加――》sampler-―》http 請求。
http請求即模仿瀏覽器的訪問。
在「伺服器名稱或ip」設置127.0.0.1,埠號設置:8080,「方法」設置post,路徑設置網站登錄的地址,如「/exam/operatorAction」。
登錄需傳入用戶、密碼。在「同請求一起發送參數」列表中添加參數。參數值根據web應用設置。如login_user=0001;login_password=1;actFlag=login
5. 登錄成功後,網站一般將跳入主頁面。在jmap中可做判斷,判斷是否登錄後按預想進入主頁面(此步驟也可不設)。選擇4中的「http請求」,右鍵――》添加――》斷言――》響應斷言。「Apply to」設置Main smaple only;「要測試的響應欄位」設置「url樣本」;「模式匹配規則」設置「包括」,「要測試的模式」增加頁面跳轉到的主頁面,如:「studentMain.jsp」
6. 一般網站登錄後,在tomcat中生成了session,之後訪問其他頁面將無需再次登錄,前提是瀏覽器需支持cookie。在jmap中也同樣,如要繼續訪問其他頁面,還需做下面關鍵的設置。
選擇「線程組」――》右鍵――》添加――》配置元件――》Http cookie管理器。加了此步驟後,http請求將具備cookie功能,即登錄成功後訪問其他頁面將不會跳轉到登錄頁面重新登錄。
7. 對目標頁面反復壓力測試。
7.1 如何使被測頁面反復訪問達到測壓效果。選「線程組」―》右鍵――》邏輯控制器――》循環控制器。循環次數中選擇「永遠」。
7.2 選擇剛加的「循環控制器」,右鍵――》添加――》sampler-―》http 請求,按4步驟設置ip、埠,http請求方法為「get」,路徑為被壓力測試的url,如:「exam/business/studentExam.action.StudentExamAction?action=goIntoMockExam」。
按上面的設置後,已完成配置,可做壓力測試。只需點菜單「運行」――》啟動,即運行壓力測試。
8. jmeter提供了許多壓力結果查看工具。是壓力測試時非常好的分析工具。下面幾種查看工具可有選擇的添加。
8.1 察看結果樹。他記錄每次請求發送數據、響應返回數據。選擇「線程組」――》右鍵――》添加――》察看結果樹。
8.2 用表格查看結果。可查看每次請求的響應時間等。選擇「線程組」――》右鍵――》添加――》用表格查看結果。
8.3 Summary Report。可查看平均響應時間、最長響應時間等。

Ⅶ 如何使用jmeter進行介面測試

1. 建立WebServiceTest Plan

1) 添加ThreadGroup

右鍵單擊Test Plan選擇Add --> ThreadGroup配置

Number of Threads、Ramp-UpPeriod、Loop Count隨測試同隨修改

三種參數解釋:

Number of Threads發起線程總數

Ramp-Up Period 指定JMeter啟Number ofThreads線程所需間例待發起30線程(即模擬用戶)Ram-Up Period15秒則每秒增加2線程(30用戶/15秒)設置0則JMeter自啟所模擬用戶

Loop Count循環數

2. 添加 WebService Requests
右鍵單擊WebService線程組Add --> Sampler --> WebService(SOAP)

註:灰色線程組其測試使用線程組處設置Disabled線程組本測試使用

配置

發布Service WSDL URL粘貼WSDL URL點擊Load WSDLWebMthods自彈

需自選擇Method單擊Configure即完絕部自配置

面涉及Soap/XML-RPC Data編寫我編寫:

[plain] view plain

<soap:Envelope
xmlns:xsi=""
xmlns:xsd=""
xmlns:soap="">

<ns1:simpleMethod
xmlns:ns1="">
Yerasel

XML絕部都固定其餘解釋:
simpleMethodWebService發布;

simpleMethod所類(SimpleServer)域名即SimpleServer所包包名com.deltaj.server;

namesimpleMethod參數名參數類型string;

Yerasel輸入實參

SimpleService服務端源程序:
[java] view plain
// SimpleService.java
package com.deltaj.server;

public class SimpleServer {

/**
* 簡單測試
*
*/
public String simpleMethod(String name) {
return name + "Say this is a Simple method ^-^";
}

}

注意:
Yerasel
發布wsdl候, 參數名稱自映射arg0, arg1, 解決:
[java] view plain
Java代碼
public User create(
@WebParam(name = "user")
User user);
SimpleService服務端源程序改寫:
[java] view plain
// SimpleService.java
package com.deltaj.server;

public class SimpleServer {

/**
* 簡單測試
*
*/
public String simpleMethod(@WebParam(name = "personname")String personname) {
return personname + "Say this is a Simple method ^-^";
}

}

Soap/XML-RPC Data :
[plain] view plain

<soap:Envelope
xmlns:xsi=""
xmlns:xsd=""
xmlns:soap="">

<ns1:simpleMethod
xmlns:ns1="">
Yerasel

註:

發布SimpleServer需要寫xml發布WebService般步驟內容:

[plain] view plain

SimpleServer

com.deltaj.server.SimpleServer

文件名META-INF/services.xml
文件布局

com麵包及.class

bin目錄運行"jar cvf SimpleServer.aar . "即

aar放入Tomcatservices目錄即發布

Ⅷ 如何使用jmeter進行並發請求,以監控伺服器性能

2.1 測試環境

作者使用了Tomcat作為Web伺服器進行測試,被測試的內容是一個jsp文件和一個servlet,jsp文件調用JavaBean、列印相關信息,servlet接受用戶參數、調用javabean、輸出相關信息。詳細的內容請參考作者提供的JMeter.war的內容。

2.2 安裝啟動JMeter

大家可以到通過http://apache.linuxforum.net/dist/jakarta/jmeter/binaries/jakarta-jmeter-1.9.1.zip下載JMeter的release版本,然後將下載的.zip文件解壓縮到C:/JMeter(後面的文章中將使用%JMeter%來引用這個目錄)目錄下。

現在,請使用%JMeter%/bin下面的jmeter.bat批處理文件來啟動JMeter的可視化界面,下面的工作都將在這個可視化界面界面上進行操作。下面的圖片是JMeter的可視化界面的屏幕截圖。

圖一: JMeter打開時的屏幕截圖

圖一: JMeter打開時的屏幕截圖

2.3 建立測試計劃(Test Plan)

測試計劃描述了執行測試過程中JMeter的執行過程和步驟,一個完整的測試計劃包括一個或者多個線程組(Thread Groups)、邏輯控制(Logic Controller)、實例產生控制器(Sample Generating Controllers)、偵聽器(Listener)、定時器(Timer)、比較(Assertions)、配置元素(Config Elements)。打開JMeter時,它已經建立一個默認的測試計劃,一個JMeter應用的實例只能建立或者打開一個測試計劃。

現在我們開始填充一個測試計劃的內容,這個測試計劃向一個jsp文件和一個servlet發出請求,我們需要JMeter模擬五個請求者(也就是五個線程),每個請求者連續請求兩次,下面的章節介紹了詳細的操作步驟。

2.4 增加負載信息設置

這一步,我們將向測試計劃中增加相關負載設置,是Jmeter知道我們需要模擬五個請求者,每個請求者在測試過程中連續請求兩次。詳細步驟如下:

1. 選中可視化界面中左邊樹的Test Plan節點,單擊右鍵,選擇Add'Thread Group,界面右邊將會出現他的設置信息框。

2. Thread Group有三個和負載信息相關的參數:

Number of Threads: 設置發送請求的用戶數目

Ramp-up period: 每個請求發生的總時間間隔,單位是秒。比如你的請求數目是5,而這個參數是10,那麼每個請求之間的間隔就是10/5,也就是2秒

Loop Count: 請求發生的重復次數,如果選擇後面的forever(默認),那麼 請求將一直繼續,如果不選擇forever,而在輸入框中輸入數字,那麼請求將重復 指定的次數,如果輸入0,那麼請求將執行一次。

根據我們演示例子的設計,我們應該將Number of Threads設置為5,Ramp-up period設置為0(也就是同時並發請求),不選中forever,在Loop Count後面的輸入框中輸入2,設置後的屏幕截圖如下:

圖二:設置好參數的Thread Group。

圖二:設置好參數的Thread Group。

2.5 增加默認Http屬性(可選)

實際的測試工作往往是針對同一個伺服器上Web應用展開的,所以Jmeter提供了這樣一種設置, 在默認Http屬性設置需要被測試伺服器的相關屬性,以後的http請求設置中就可以忽略這些相同參數的設置,減少設置參數錄入的時間。

我們這里將採用這種屬性。你可以通過下面的步驟來設置默認http屬性:

1. 選中可視化界面中左邊樹的Test Plan節點,單擊右鍵,選擇Add'config element'http request defaults,界面右邊將會出現他的設置信息框。

2. 默認http屬性的主要參數說明如下:

protocal:發送測試請求時使用的協議

server name or ip:被測試伺服器的ip地址或者名字

path: 默認的起始位置。比如將path設置為/jmeter,那麼所有的http請求的url中都將增加/jmeter路徑。

port number: 伺服器提供服務的埠號

我們的測試計劃將針對本機的Web伺服器上的Web應用進行測試,所以protocal應該是http,ip使用localhost,因為這個web應用發布的context路徑是/jmeter,所以這里的path設置為/jmeter,因為使用Tomcat伺服器,所以port number是8080。設置後的屏幕截圖如下:

圖三: 測試計劃中使用的默認Http參數

圖三: 測試計劃中使用的默認Http參數

2.6 增加Http請求

現在我們需要增加http請求了,他也是我們測試的內容主體部分。你可以通過下面的步驟來增加性的http請求:

1. 選中可視化界面中左邊樹的Thread Group節點,單擊右鍵,選擇Add'sampler'http request,界面右邊將會出現他的設置信息框。

2. 他的參數和2.5中介紹的http屬性差不多,增加的屬性中有發送http時方法的選擇,你可以選擇為get或者post。

我們現在增加兩個http 請求,因為我們設置了默認的http屬性,所以和默認http屬性中相同的屬性不再重復設置。設置後的屏幕截圖如下:

圖四:設置好的jsp測試請求

圖四:設置好的jsp測試請求

圖五:設置好的Servlet測試請求(帶參數)

圖五:設置好的Servlet測試請求(帶參數)

2.7 增加Listener

增加listener是為了記錄測試信息並且可以使用Jmeter提供的可視化界面查看測試結果,裡面有好幾種結果分析方式可供選擇,你可以根據自己習慣的分析方式選擇不同的結果顯示方式,我們這里使用表格的形式來查看和分析測試結果。你可以通過下面的步驟來增加listener:

1. 選中可視化界面中左邊樹的Test Plan節點,單擊右鍵,選擇Add'listener'view result in table,界面右邊將會出現他的設置信息和結果顯示框。

2. 你可以設置界面上面的filename屬性設置將測試結果保存到某個文件中 界面下面將使用表格顯示測試結果,表格的第一列sampleno顯示請求執行的順序和編號,url顯示請求發送的目標,sample-ms列顯示這個請求完成耗費的時間,最後的success列顯示改請求是否成功執行。

界面的最下面你還可以看到一些統計信息,最關心的應該是Average吧,也就是相應的平均時間。

2.8 開始執行測試計劃

現在你可以通過單擊菜單欄run -> Start開始執行測試計劃了。下面這兩個圖是作者第一次、第二次執行該測試計劃的結果圖:

大家可以看到第一次執行時的幾個大時間值均來自於jsp request,這可以通過下面的理由進行解釋:jsp執行前都需要被編譯成.class文件。所以第二次的結果才是正常的結果。

Ⅸ 為什麼在瀏覽器請求的URL能正確返回結果,在jmeter中返回信息中說URL異常

提示很明確,說url中有非法字元串:這個字元串在瀏覽器中,向伺服器發送時會自動進行一個urlencode的操作,但是通過jmeter的路徑填寫並進行發送時,是沒有的,你這個地方可以將參數放在Parameters下

Ⅹ 如何用jmeter測試本機上的軟體

1.打開Java編譯器,新建一個項目"TestLength",然後新建一個包"app".2.從Jmeter的安裝目錄lib/ext中拷貝兩個文件"ApacheJMeter_core.jar"和"ApacheJMeter_java.jar"到"Tester"的項目中,然後引入這兩個JAR文件.(具體的引入方法參考各個Java編譯器的使用方法)3.在"app"包中新建一個類,名字叫"TestLength",不過這個類要繼承"AbstractJavaSamplerClient"類,如果項目引入步驟二中的兩個文件,就可以找到"AbstractJavaSamplerClient"類了.4."TestLength"類在繼承"AbstractJavaSamplerClient"類的同時也會繼承四個方法,分別是"getDefaultParameters","setupTest","runTest"和"teardownTest"方法."getDefaultParameters"方法主要用於設置傳入的參數;"setupTest"方法為初始化方法,用於初始化性能測試時的每個線程."runTest"方法為性能測試時的線程運行體;"teardownTest"方法為測試結束方法,用於結束性能測試中的每個線程.5.具體實現代碼如下:packageapp;importorg.apache.jmeter.config.Arguments;importorg.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient;importorg.apache.jmeter.protocol.java.sampler.JavaSamplerContext;importorg.apache.jmeter.samplers.SampleResult;importcom.passpod.core.t8.*;/***@author樂以忘憂***Window-Preferences-Java-CodeStyle-CodeTemplates*/{privateSampleResultresults;privateStringtestStr;//初始化方法,實際運行時每個線程僅執行一次,在測試方法運行前執行,類似於LoadRunner中的init方法publicvoidsetupTest(JavaSamplerContextarg0){results=newSampleResult();testStr=arg0.getParameter("testString","");if(testStr!=null&&testStr.length()>0){results.setSamplerData(testStr);}}//設置傳入的參數,可以設置多個,已設置的參數會顯示到Jmeter的參數列表中(){Argumentsparams=newArguments();params.addArgument("testStr","");//定義一個參數,顯示到Jmeter的參數列表中,第一個參數為參數默認的顯示名稱,第二個參數為默認值returnparams;}//測試執行的循環體,根據線程數和循環次數的不同可執行多次,類似於LoadRunner中的Action方法publicSampleResultrunTest(JavaSamplerContextarg0){intlen=0;results.sampleStart();//定義一個事務,表示這是事務的起始點,類似於LoadRunner的lr.start_transactionlen=testStr.length();results.sampleEnd();//定義一個事務,表示這是事務的結束點,類似於LoadRunner的lr.end_transactionif(len<5){System.out.println(testStr);results.setSuccessful(false);//用於設置運行結果的成功或失敗,如果是"false"則表示結果失敗,否則則表示成功}elseresults.setSuccessful(true);returnresults;}//結束方法,實際運行時每個線程僅執行一次,在測試方法運行結束後執行,類似於LoadRunner中的end方法publicvoidteardownTest(JavaSamplerContextarg0){}}6.把上面的例子打包,然後把生成的"TestLength.jar"文件拷貝到Jmeter的安裝目錄lib/ext下.7.運行Jmeter,添加一個線程組,然後在該線程組下面添加一個Java請求(在Sampler中),在Java請求的類名稱中選擇咱們剛創建的類"app.TestLength",在下面參數列表的"testStr"後面輸入要測試的字元串,然後添加一個監聽器(聚合報告),設置一下模擬的用戶數就可以測試了.如果測試不成功,Jmeter會在它自己個輸出框中拋出這個字元串.通過上面的例子我們可以發現,使用Jmeter自定義Java測試代碼,配合Jmeter自帶的函數,就可以實現出LoadRunner中"JavaVuser"協議的絕大多數功能,而且是沒有用戶數限制和完全免費的(嘿嘿).上面的例子非常簡單,而且沒有任何實際意義,只是一個簡單的Jmeter測試代碼示例,用於拋磚引玉,希望大家一起交流,共同進步.