使用loadrunner,進(jìn)行壓力測試,有比較詳細(xì)的測試結(jié)果,
創(chuàng)新互聯(lián)建站成都企業(yè)網(wǎng)站建設(shè)服務(wù),提供網(wǎng)站制作、網(wǎng)站建設(shè)網(wǎng)站開發(fā),網(wǎng)站定制,建網(wǎng)站,網(wǎng)站搭建,網(wǎng)站設(shè)計(jì),自適應(yīng)網(wǎng)站建設(shè),網(wǎng)頁設(shè)計(jì)師打造企業(yè)風(fēng)格網(wǎng)站,提供周到的售前咨詢和貼心的售后服務(wù)。歡迎咨詢做網(wǎng)站需要多少錢:18980820575
就是配置和使用loadrunner比較麻煩,不過網(wǎng)上有詳細(xì)的教程,去下載一個(gè)吧,
自己寫循環(huán)去測試,極不準(zhǔn)確
經(jīng)典的自然是loadrunner,可以進(jìn)行并發(fā)壓力測試,很實(shí)用,可以模擬多IP,多用戶同時(shí)運(yùn)行,可以設(shè)置運(yùn)行間隔,可以參考下相關(guān)的文檔,建議去csdn上下一個(gè)相關(guān)的教程
1.打開Java編譯器,新建一個(gè)項(xiàng)目"TestLength",然后新建一個(gè)包"app".2.從Jmeter的安裝目錄lib/ext中拷貝兩個(gè)文件"ApacheJMeter_core.jar"和"ApacheJMeter_java.jar"到"Tester"的項(xiàng)目中,然后引入這兩個(gè)JAR文件.(具體的引入方法參考各個(gè)Java編譯器的使用方法)3.在"app"包中新建一個(gè)類,名字叫"TestLength",不過這個(gè)類要繼承"AbstractJavaSamplerClient"類,如果項(xiàng)目引入步驟二中的兩個(gè)文件,就可以找到"AbstractJavaSamplerClient"類了.4."TestLength"類在繼承"AbstractJavaSamplerClient"類的同時(shí)也會繼承四個(gè)方法,分別是"getDefaultParameters","setupTest","runTest"和"teardownTest"方法."getDefaultParameters"方法主要用于設(shè)置傳入的參數(shù);"setupTest"方法為初始化方法,用于初始化性能測試時(shí)的每個(gè)線程."runTest"方法為性能測試時(shí)的線程運(yùn)行體;"teardownTest"方法為測試結(jié)束方法,用于結(jié)束性能測試中的每個(gè)線程.5.具體實(shí)現(xiàn)代碼如下: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樂以忘憂**TODOTochangethetemplateforthisgeneratedtypecommentgoto*Window-Preferences-Java-CodeStyle-CodeTemplates*/publicclassTestLengthextendsAbstractJavaSamplerClient{privateSampleResultresults;privateStringtestStr;//初始化方法,實(shí)際運(yùn)行時(shí)每個(gè)線程僅執(zhí)行一次,在測試方法運(yùn)行前執(zhí)行,類似于LoadRunner中的init方法publicvoidsetupTest(JavaSamplerContextarg0){results=newSampleResult();testStr=arg0.getParameter("testString","");if(testStr!=nulltestStr.length()0){results.setSamplerData(testStr);}}//設(shè)置傳入的參數(shù),可以設(shè)置多個(gè),已設(shè)置的參數(shù)會顯示到Jmeter的參數(shù)列表中publicArgumentsgetDefaultParameters(){Argumentsparams=newArguments();params.addArgument("testStr","");//定義一個(gè)參數(shù),顯示到Jmeter的參數(shù)列表中,第一個(gè)參數(shù)為參數(shù)默認(rèn)的顯示名稱,第二個(gè)參數(shù)為默認(rèn)值returnparams;}//測試執(zhí)行的循環(huán)體,根據(jù)線程數(shù)和循環(huán)次數(shù)的不同可執(zhí)行多次,類似于LoadRunner中的Action方法publicSampleResultrunTest(JavaSamplerContextarg0){intlen=0;results.sampleStart();//定義一個(gè)事務(wù),表示這是事務(wù)的起始點(diǎn),類似于LoadRunner的lr.start_transactionlen=testStr.length();results.sampleEnd();//定義一個(gè)事務(wù),表示這是事務(wù)的結(jié)束點(diǎn),類似于LoadRunner的lr.end_transactionif(len5){System.out.println(testStr);results.setSuccessful(false);//用于設(shè)置運(yùn)行結(jié)果的成功或失敗,如果是"false"則表示結(jié)果失敗,否則則表示成功}elseresults.setSuccessful(true);returnresults;}//結(jié)束方法,實(shí)際運(yùn)行時(shí)每個(gè)線程僅執(zhí)行一次,在測試方法運(yùn)行結(jié)束后執(zhí)行,類似于LoadRunner中的end方法publicvoidteardownTest(JavaSamplerContextarg0){}}6.把上面的例子打包,然后把生成的"TestLength.jar"文件拷貝到Jmeter的安裝目錄lib/ext下.7.運(yùn)行Jmeter,添加一個(gè)線程組,然后在該線程組下面添加一個(gè)Java請求(在Sampler中),在Java請求的類名稱中選擇咱們剛創(chuàng)建的類"app.TestLength",在下面參數(shù)列表的"testStr"后面輸入要測試的字符串,然后添加一個(gè)監(jiān)聽器(聚合報(bào)告),設(shè)置一下模擬的用戶數(shù)就可以測試了.如果測試不成功,Jmeter會在它自己個(gè)輸出框中拋出這個(gè)字符串.通過上面的例子我們可以發(fā)現(xiàn),使用Jmeter自定義Java測試代碼,配合Jmeter自帶的函數(shù),就可以實(shí)現(xiàn)出LoadRunner中"JavaVuser"協(xié)議的絕大多數(shù)功能,而且是沒有用戶數(shù)限制和完全免費(fèi)的(嘿嘿).上面的例子非常簡單,而且沒有任何實(shí)際意義,只是一個(gè)簡單的Jmeter測試代碼示例,用于拋磚引玉,希望大家一起交流,共同進(jìn)步.
你好,你這個(gè)問題問的好抽象。測試是測什么,測你寫的程序,當(dāng)你連你的程序是什么的類型的時(shí)候還沒有弄清楚,怎么能寫壓力測試呢,你是要測并發(fā)呢?還是測效率呢?
所以這個(gè)要根據(jù)實(shí)際情況來確定。
你好,你的UserDao第46行已經(jīng)報(bào)空指針了,還有Connection reset是估計(jì)你的連接池資源不夠達(dá)到上限了!