壓力測試java代碼 JAVA壓力測試

JAVA如何寫一個純并發(fā)的壓力測試

import?java.io.BufferedReader;

我們提供的服務(wù)有:網(wǎng)站設(shè)計制作、網(wǎng)站設(shè)計、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、濱城ssl等。為成百上千企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的濱城網(wǎng)站制作公司

import?java.io.File;

import?java.io.FileInputStream;

import?java.io.InputStreamReader;

import?java.io.PrintWriter;

import?java.net.HttpURLConnection;

import?java.net.URL;

import?java.util.HashMap;

import?java.util.Map;

import?java.util.concurrent.ExecutorService;

import?java.util.concurrent.Executors;

import?java.util.concurrent.Semaphore;

public?class?ConcurrentTest?{

private?static?int?thread_num?=?200;

private?static?int?client_num?=?460;

private?static?Map?keywordMap?=?new?HashMap();

static?{

try?{

InputStreamReader?isr?=?new?InputStreamReader(new?FileInputStream(

new?File("clicks.txt")),?"GBK");

BufferedReader?buffer?=?new?BufferedReader(isr);

String?line?=?"";

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

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

}

}?catch?(Exception?e)?{

e.printStackTrace();

}

}

public?static?void?main(String[]?args)?{

int?size?=?keywordMap.size();

//?TODO?Auto-generated?method?stub

ExecutorService?exec?=?Executors.newCachedThreadPool();

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

final?Semaphore?semp?=?new?Semaphore(thread_num);

//?模擬2000個客戶端訪問

for?(int?index?=?0;?index??client_num;?index++)?{

final?int?NO?=?index;

Runnable?run?=?new?Runnable()?{

public?void?run()?{

try?{

//?獲取許可

semp.acquire();

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

String?host?=?"?";

String?para?=?"method=getQueryResultpageNum=1pageSize=5"

+?"queryKeyWord="

+?getRandomSearchKey(NO)

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

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

System.out.println(host?+?para);

URL?url?=?new?URL(host);//?此處填寫供測試的url

HttpURLConnection?connection?=?(HttpURLConnection)?url

.openConnection();

//?connection.setRequestMethod("POST");

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

//?"Keep-Alive");

connection.setDoOutput(true);

connection.setDoInput(true);

PrintWriter?out?=?new?PrintWriter(connection

.getOutputStream());

out.print(para);

out.flush();

out.close();

BufferedReader?in?=?new?BufferedReader(

new?InputStreamReader(connection

.getInputStream()));

String?line?=?"";

String?result?=?"";

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

result?+=?line;

}

//?System.out.println(result);

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

//?釋放

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

semp.release();

}?catch?(Exception?e)?{

e.printStackTrace();

}

}

};

exec.execute(run);

}

//?退出線程池

exec.shutdown();

}

private?static?String?getRandomSearchKey(final?int?no)?{

String?ret?=?"";

int?size?=?keywordMap.size();

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

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

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

System.out.println("\t"?+?ret);

return?ret;

}

}

Java?Web應(yīng)用如何壓力測試?工具有哪些?具體怎么做?

經(jīng)典的自然是loadrunner,可以進(jìn)行并發(fā)壓力測試,很實用,可以模擬多IP,多用戶同時運行,可以設(shè)置運行間隔,可以參考下相關(guān)的文檔,建議去csdn上下一個相關(guān)的教程

JAVA如何編寫服務(wù)器壓力測試軟件

選我吧。。絕對短小精悍!

思路:

壓力測試原理有兩種,一種是連接測試,一種是負(fù)載測試

1,連接測試,就是多線程,不停的請求直到服務(wù)器死機(jī)或達(dá)到預(yù)期效果即可!

2,負(fù)載測試,就是一個線程的多步操作,每個線程占用服務(wù)器cpu 內(nèi)存是否符合節(jié)能高效的標(biāo)準(zhǔn),如果不是,那就優(yōu)化吧

所有測試以額定用戶(最大用戶)為基礎(chǔ)

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

使用loadrunner,進(jìn)行壓力測試,有比較詳細(xì)的測試結(jié)果,

就是配置和使用loadrunner比較麻煩,不過網(wǎng)上有詳細(xì)的教程,去下載一個吧,

自己寫循環(huán)去測試,極不準(zhǔn)確

文章標(biāo)題:壓力測試java代碼 JAVA壓力測試
當(dāng)前地址:http://muchs.cn/article22/dodhhjc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)全網(wǎng)營銷推廣、標(biāo)簽優(yōu)化、品牌網(wǎng)站制作、網(wǎng)站改版、小程序開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司