當前位置:首頁 » 網頁前端 » javaweb壓力測試
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

javaweb壓力測試

發布時間: 2022-12-09 19:52:16

㈠ java web項目怎麼測試

java web項目測試用Web的測試工具,如HtmlUnit,JWebUnit等。
main()方法就可以測試,在main方法中獲得connection對象將他輸出就可以了。
如果正常輸出一大串就是對了。

例子:
public class DBConnection {
private static String url = "jdbc:sqlserver://localhost:1433;DataBaseName=HXParserDB";
private static String username = "sa";
private static String password = "123";
private DBConnection(){}
private static DBConnection dbconn = new DBConnection();
private static Connection conn = null;
// 注冊驅動
static {
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
} catch (Exception e) {
throw new ExceptionInInitializerError(e);
}
}
public DBConnection getDBConn(){
if(null==dbconn){
dbconn = new DBConnection();
}
return dbconn;
}
// 返回Connection對象
public static Connection getConnection() {
try {
return DriverManager.getConnection(url, username, password);
} catch (SQLException e) {
return null;
}
}
/**
* @param args
*/
public static void main(String[] args) {
System.out.println(DBConnection.getConnection());
}

}

㈡ Java Web應用如何壓力測試工具有哪些具體怎麼做

經典的自然是loadrunner,可以進行並發壓力測試,很實用,可以模擬多IP,多用戶同時運行,可以設置運行間隔,可以參考下相關的文檔,建議去csdn上下一個相關的教程

㈢ 怎樣正確做 Web 應用的壓力測試

可以看下騰訊wetest的這個壓測工具http://wetest.qq.com/gaps/

通過產生真實壓力來發現問題、結合系統性能來解決問題

㈣ java後台壓力測試用什麼工具好

思路:
壓力測試原理有兩種,一種是連接測試,一種是負載測試
1,連接測試,就是多線程,不停的請求直到伺服器死機或達到預期效果即可!
2,負載測試,就是一個線程的多步操作,每個線程佔用伺服器cpu 內存是否符合節能高效的標准,如果不是,那就優化吧
建議用LOADRUNNER吧。

㈤ javaweb 用戶同時多次請求一個方法時,出現奇怪的問題

發送請求時,由網站並發量決定用戶的請求最大數,超過限制時會等待並多次執行

㈥ web壓力測試 要測試哪些方面

web壓力測試通過產生真實壓力來發現問題需要關注以下方面:
1、對要測試的系統進行分析,明確需要對哪一塊做壓力測試。比如:淘寶網站雙十一期間,秒殺跟支付,此模式用戶操作中佔比比較大
再比如:游戲,登錄--開始戰斗--結束戰斗這種混合模式在用戶操作中佔比較大
那麼就可以針對這種佔比比較大的模式進行壓力測試
2、明確了要測試的點後,如何對這些測試點進行施壓呢?
第一種方式可以通過寫腳本產生壓力機器人對伺服器進行發包收包操作;
第二種方式就是藉助一些壓力測試工具如:JMeter或LoadRunner
3、如何對這些測試點進行正確的施壓呢?
那麼就需要用壓力測試工具或者其它方法來錄制腳本,模擬用戶的操作
4、對測試點該施加多大的壓力比較合適?該施加多少的數據才能找出系統的瓶頸?
那麼就需要明確壓力測試所限制的數量,即用戶並發量,這里分3種情況來明確:
1)根據上級的明確規定數量,來設定最確大值,然後根據情況往上或往下增減
2)上級未規定,由自己判斷,從1開始慢慢遞增。如:1,5,10,20等等
3)若做過壓力測試,則可以根據上次的壓力測試結果為基數進行測試
5、測試完之後,如何通過這些數據來定位性能問題呢?
雖然通過這些測試結果我們可以得到TPS(吞吐量),平均響應時間等這些數據,可判斷出伺服器是否存在問題,但卻不能定位問題。

㈦ 如何搭建java web測試環境

WEB
測試

搭建測試環境
所需的軟硬體包括:電腦一台、
JDK1.6

Tomcat7.0

mysql

IE
瀏覽器、
Firefox
瀏覽器、
Chrome
瀏覽器、
SVN
客戶端

通過
SVN
客戶端導出最新的
Web
工程部署到
Tomcat7.0


webapps

,另外重要的一
點就是修改資料庫連接的配置文件,
連接到正確的測試資料庫
(企業一般有開發人員所用的
資料庫和測試人員所用的資料庫)
,資料庫連接的配置文件在
WEB-INF
文件夾下,修改好
資料庫的配置文件後,

Tomcat7.0\bin\startup.bat
啟動
Tomcat


Tomcat
沒報錯的情況下,
用瀏覽器訪問後台,出現一個登錄界面,這樣,一個簡單完整的
Web
測試環境就搭建起來
了!

二、
Web
測試方法

1
、鏈接測試

鏈接是
web
應用系統的一個主要特徵,它表示頁面與頁面直接的切換和用戶不知道具體地
址去訪問其他頁面的手段,如果頁面不能跳轉或者是訪問失敗,有很大程度上是
web
應用
程序的鏈接出問題了;
其中有一個重要的性能指標就是鏈接速度的測試,
用戶打開一個頁面
或者是去訪問另外一個頁面,如果
web
系統響應時間太長(例如超過
5
秒鍾)
,用戶就會因
沒耐心而離開,
還有就是有些頁面有超時的限制,
這樣可能引起數據丟失,
使用戶得不到真
實的頁面。

2
、資料庫測試


web
應用技術中,資料庫起著重要的作用,資料庫為
web
應用系統的管理、運行、查詢
和實現用戶對數據存儲的請求提供空間,
也就是說用戶在頁面進行各類操作,
如添加、
查詢

刪除等一系列動作,都會被資料庫記錄。

3
、瀏覽器測試

瀏覽器是
web
客戶端最核心的構件,來自不同廠商的瀏覽器對不同開發語言開發的應用程
序有不同的支持,這就需測試人員對主流的瀏覽器和不同版本的瀏覽器進行有效的測試。

4
、平台測試

市場上有很多不同的操作系統類型,
web
應用系統的最終用戶究竟使用哪一種操作系統,

決於用戶系統的配置,因此,在
web
系統發布之前,需要在各種主流的

操作系統下對
web
系統進程測試。

5
、負載測試

負載測試是為了測量
web
系統在哪一負載級別上的性能,以保證
web
系統在需求范圍內能
正常工作。
例如:
web
應用系統能允許多少個用戶同時在線?如果超過這個數量會出現什麼
現象?
Web
應用系統能否同時處理大量用戶對同一個頁面的請求?

6
、壓力測試

進行壓力測試通俗的來講是指破壞一個
web
應用系統,測試系統的反映,測試系統的限制
和故障恢復的能力,也就是測試
web
應用系統會不會崩潰,在什麼樣的情況下崩潰。

7
、整體界面測試

整體界面是指整個
web
應用系統的爺們結構設計,是給用戶的一個整體感。例如:當用戶
瀏覽
web
頁面時是否感到舒適,是否憑直覺就知道要找的信息在什麼地方,整個
web
應用
系統的可用性在哪裡。

三、總結

本文主要講述了
web
應用系統的搭建測試環境和
web
測試方法,在測試過程中,有的僅需
要手動測試的,有的需要自動化測試工具的幫助,所以
web
系統的測試要求測試人員有很
深的自動化測試技術。

㈧ JAVA如何寫一個純並發的壓力測試

importjava.io.BufferedReader;

importjava.io.File;

importjava.io.FileInputStream;

importjava.io.InputStreamReader;

importjava.io.PrintWriter;

importjava.net.HttpURLConnection;

importjava.net.URL;

importjava.util.HashMap;

importjava.util.Map;

importjava.util.concurrent.ExecutorService;

importjava.util.concurrent.Executors;

importjava.util.concurrent.Semaphore;

publicclassConcurrentTest{

privatestaticintthread_num=200;

privatestaticintclient_num=460;

privatestaticMapkeywordMap=newHashMap();

static{

try{

InputStreamReaderisr=newInputStreamReader(newFileInputStream(

newFile("clicks.txt")),"GBK");

BufferedReaderbuffer=newBufferedReader(isr);

Stringline="";

while((line=buffer.readLine())!=null){

keywordMap.put(line.substring(0,line.lastIndexOf(":")),"");

}

}catch(Exceptione){

e.printStackTrace();

}

}

publicstaticvoidmain(String[]args){

intsize=keywordMap.size();

//TODOAuto-generatedmethodstub

ExecutorServiceexec=Executors.newCachedThreadPool();

//50個線程可以同時訪問

finalSemaphoresemp=newSemaphore(thread_num);

//模擬2000個客戶端訪問

for(intindex=0;index<client_num;index++){

finalintNO=index;

Runnablerun=newRunnable(){

publicvoidrun(){

try{

//獲取許可

semp.acquire();

System.out.println("Thread:"+NO);

Stringhost="http://10.99.23.42:7001/KMQueryCenter/query.do?";

Stringpara="method=getQueryResult&pageNum=1&pageSize=5&"

+"queryKeyWord="

+getRandomSearchKey(NO)

+"&questionID=-1&questionIdPath=-1&searchType=1"

+"&proLine=&proSeries=&proType="+NO;

System.out.println(host+para);

URLurl=newURL(host);//此處填寫供測試的url

HttpURLConnectionconnection=(HttpURLConnection)url

.openConnection();

//connection.setRequestMethod("POST");

//connection.setRequestProperty("Proxy-Connection",

//"Keep-Alive");

connection.setDoOutput(true);

connection.setDoInput(true);

PrintWriterout=newPrintWriter(connection

.getOutputStream());

out.print(para);

out.flush();

out.close();

BufferedReaderin=newBufferedReader(

newInputStreamReader(connection

.getInputStream()));

Stringline="";

Stringresult="";

while((line=in.readLine())!=null){

result+=line;

}

//System.out.println(result);

//Thread.sleep((long)(Math.random())*1000);

//釋放

System.out.println("第:"+NO+"個");

semp.release();

}catch(Exceptione){

e.printStackTrace();

}

}

};

exec.execute(run);

}

//退出線程池

exec.shutdown();

}

(finalintno){

Stringret="";

intsize=keywordMap.size();

//intwanna=(int)(Math.random())*(size-1);

ret=(keywordMap.entrySet().toArray())[no].toString();

ret=ret.substring(0,ret.lastIndexOf("="));

System.out.println(" "+ret);

returnret;

}

}

㈨ 怎樣正確做 Web 應用的壓力測試

關於工具的選擇

其實工具並不是最重要的,那麼多的測試工具,HP的是LoadRunner、IBM的是Rational Performance Tester、Apache有Jmeter(免費開源)、還有Borland的SilkPerformer,這些都是可以的。有人提到了Apache的AB,AB不是說不行的,但既然問題是"正確的壓力測試",那麼還是選擇一個那些容易支撐起復雜業務的性能場景的工具吧。

什麼樣的工具能夠在腳本中讓你模擬業務場景中一個用戶的行為?什麼樣的工具能夠在場景中讓你模擬業務場景中一群用戶的行為?什麼樣的工具能夠讓你模擬用戶所處於的使用環境?什麼樣的工具能夠讓你比較方便、快捷的通過它的性能圖表了解Web應用的大致性能表現?答案肯定不會是那些對某個URL不斷施壓的那些工具。

關於場景的設計過程

過半數的性能測試人員並不了解自己執行的性能測試場景代表的是用戶生產環境中什麼樣的場景。事實很難正確的說清楚「性能測試」、「負載測試」、「壓力測試」、「可靠性測試」、「配置測試」、「疲勞測試」這些測試的概念。

任何一個場景的設計都必須首先明確一些相關的性能指標,這些指標的閾值一旦被超出,那麼場景一般是不必繼續執行的。

關於性能指標我們可以幾個角度來看:

首先是用戶視角的性能指標,一般來說這些指標包括了測試事務的平均響應時間、最大響應時間、90%事務的響應時間、事務響應時間標准差,我們通過著一些指標來判斷用戶實際獲得的性能體驗如何。然後是運維視角指標,點擊率、吞吐量、處理能力、各種硬體資源佔用、運維通過這些指標來了解目前應用的處理能力,通過業務增長了解何時需要進行擴容,還有開發視角的指標,鎖競爭。具體要考慮的視角由項目干係人、關鍵角色定義。

採用的指標確定好以後,再開始為這些指標定義閾值,例如事務的響應時間,也許用戶認為請求在2秒以內得到響應是滿意的,5秒以內響應是一般,超出8秒則會感覺太慢,超出10秒會超出了可容忍的上限,那麼對於這一項指標來說,它的閾值可以是:

<2秒響應,優秀

<5秒響應,良好

<8秒響應,較差

>10秒響應,超出可容忍上線

關於用戶性能體驗的指標一般會劃分為4個級別。硬體指標至少也會劃分2個級別。

系統在任何時候都應該為用戶提供優秀的響應體驗嗎?並不總是,在2倍的峰值負載中,我認為良好、甚至較差的響應體驗也是可接受的。那是不是說在正常的峰值負載中,各項指標表現不在優秀范圍內就是不理想呢?也不一定,要看正常的峰值負載持續時間長短是否合理。

場景的設計不合理最終將可能導致我們面對一堆性能缺陷無法確定處理的優先順序。

場景設計中,重點考慮的問題:

腳本測試數據符合典型用戶的數據差異(測試帳號差異、操作數據差異、提交表單參數差異等)

腳本操作次序符合典型用戶的操作差異(思考時間、業務間間隔等);

腳本執行符合典型用戶的使用環境(瀏覽器緩存模擬、帶寬模擬等);

測試環境的業務基礎數據必須合理(0年到N年的基礎數據);

測試場景所產生的負載必須合理(代表峰值的負載?代表1.5倍峰值的負載?代表促銷活動的負載?)。

一般都是使用工具,可以模擬多用戶 同時/非同步地進行比較好的工具,要錢的有loadrunner ,不要錢的有JMeter 。這2種工具都能自動生成圖形報告。這樣你就能判斷出伺服器的瓶頸在哪裡。是需要增加內存還是提高處理器性能,或者增加硬碟

㈩ java寫的web程序 怎麼做壓力測試呀,就是測試並發率(同一時間最大支持多少用戶請求呢)

使用loadrunner,進行壓力測試,有比較詳細的測試結果,
就是配置和使用loadrunner比較麻煩,不過網上有詳細的教程,去下載一個吧,
自己寫循環去測試,極不準確