剛剛在打掃衛(wèi)生的時(shí)候镀裤,就一直在思考近一年以來(lái)所學(xué)知識(shí)及體系陵究。知識(shí)太過(guò)于碎片化,整理的東西全寫(xiě)在筆記本上,日常工作不可能全部用到人柿,所以復(fù)習(xí)很重要柴墩。因此開(kāi)始準(zhǔn)備將一些知識(shí)寫(xiě)在隨筆里邊忙厌,用于知識(shí)體系的重建凫岖,知識(shí)的總結(jié)。
敲定了之后逢净,便開(kāi)始動(dòng)手吧哥放!
就從Jmeter開(kāi)始吧!那么就先介紹一下今天的豬腳吧爹土!
Apache JMeter是Apache組織開(kāi)發(fā)的基于Java的壓力測(cè)試工具甥雕。用于對(duì)軟件做壓力測(cè)試,它最初被設(shè)計(jì)用于Web應(yīng)用測(cè)試胀茵,但后來(lái)擴(kuò)展到其他測(cè)試領(lǐng)域社露。 它可以用于測(cè)試靜態(tài)和動(dòng)態(tài)資源,例如靜態(tài)文件琼娘、Java小服務(wù)程序峭弟、CGI 腳本、Java 對(duì)象脱拼、數(shù)據(jù)庫(kù)瞒瘸、FTP 服務(wù)器, 等等熄浓。JMeter 可以用于對(duì)服務(wù)器情臭、網(wǎng)絡(luò)或?qū)ο竽M巨大的負(fù)載,來(lái)自不同壓力類(lèi)別下測(cè)試它們的強(qiáng)度和分析整體性能赌蔑。另外俯在,JMeter能夠?qū)?yīng)用程序做功能/回歸測(cè)試,通過(guò)創(chuàng)建帶有斷言的腳本來(lái)驗(yàn)證你的程序返回了你期望的結(jié)果娃惯。為了最大限度的靈活性跷乐,JMeter允許使用正則表達(dá)式創(chuàng)建斷言。
Apache jmeter 可以用于對(duì)靜態(tài)的和動(dòng)態(tài)的資源(文件石景,Servlet劈猿,Perl腳本,java 對(duì)象潮孽,數(shù)據(jù)庫(kù)和查詢(xún)揪荣,FTP服務(wù)器等等)的性能進(jìn)行測(cè)試。它可以用于對(duì)服務(wù)器往史、網(wǎng)絡(luò)或?qū)ο竽M繁重的負(fù)載來(lái)測(cè)試它們的強(qiáng)度或分析不同壓力類(lèi)型下的整體性能仗颈。你可以使用它做性能的圖形分析或在大并發(fā)負(fù)載測(cè)試你的服務(wù)器/腳本/對(duì)象。
----百度百科
TheApache JMeter?application is open source software, a 100% pure Java application designed to load test functional behavior and measure performance. It was originally designed for testing Web Applications but has since expanded to other test functions.
What can I do with it?
Apache JMeter may be used to test performance both on static and dynamic resources, Web dynamic applications.
It can be used to simulate a heavy load on a server, group of servers, network or object to test its strength or to analyze overall performance under different load types.
Apache JMeter features include:
Ability to load and performance test many different applications/server/protocol types:
Web - HTTP, HTTPS (Java, NodeJS, PHP, ASP.NET, …)
SOAP / REST Webservices
FTP
Database via JDBC
LDAP
Message-oriented middleware (MOM) via JMS
Mail - SMTP(S), POP3(S) and IMAP(S)
Native commands or shell scripts
TCP
Java Objects
Full featured Test IDE that allows fast Test Planrecording (from Browsers or native applications), building and debugging.
Command-line mode (Non GUI / headless mode)to load test from any Java compatible OS (Linux, Windows, Mac OSX, …)
A complete andready to present dynamic HTML report
Easy correlation through ability to extract data from most popular response formats,HTML,JSON?,XMLorany textual format
Complete portability and100% Java purity.
Fullmulti-threadingframework allows concurrent sampling by many threads and simultaneous sampling of different functions by separate thread groups.
Caching and offline analysis/replaying of test results.
Highly Extensible core:
Pluggable Samplers allow unlimited testing capabilities.
Scriptable Samplers(JSR223-compatible languages likeGroovyand BeanShell)
Several load statistics may be chosen withpluggable timers.
Data analysis andvisualization pluginsallow great extensibility as well as personalization.
Functions can be used to provide dynamic input to a test or provide data manipulation.
Easy Continuous Integration through 3rdparty Open Source libraries for Maven, Graddle and Jenkins? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ---------官方介紹(傳送門(mén):http://jmeter.apache.org/)
個(gè)人見(jiàn)解:Jmeter是一款十分優(yōu)秀的工具,不過(guò)筆者覺(jué)得它和平常的工具不一樣挨决;首先Jmeter是跨系統(tǒng)的请祖,在windows、Mac脖祈、Linux均可使用肆捕;一方面在于它支持豐富的協(xié)議(HTTP、FTP盖高、JDBC慎陵、SOCKET。喻奥。席纽。);功能方面也相對(duì)比較健全(各種各樣的邏輯處理撞蚕,如條件判斷润梯,循環(huán),僅一次等等)甥厦;各種檢查點(diǎn)纺铭,對(duì)文本、Java對(duì)象均可進(jìn)行處理矫渔;豐富的圖表展示彤蔽;此外還有許多第三方插件支持以及第三方集成;且最重要的是開(kāi)源的庙洼。顿痪。。
Jmeter安裝:
Jmeter是在JVM上運(yùn)行的油够,因此必須先要安裝JDK蚁袭,不過(guò)切記一點(diǎn),截至今天石咬,Jmeter已經(jīng)更新到3.3版本揩悄,它是不支持JDK1.9的,切記鬼悠!
傳送門(mén)(http://jmeter.apache.org/download_jmeter.cgi)
至于JDK安裝以及環(huán)境變量配置删性,此處便不再列舉;
Jmeter環(huán)境變量配置:
1焕窝,變量名:JMETER_HOME
? 變量值:E:\apache-jmeter-3.2(根據(jù)自己的解壓目錄而定蹬挺,筆者使用的是Jmeter3.2的版本)
2,變量名:CLASSPATH
? 變量值:%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib/logkit-2.0.jar;
OK它掂,環(huán)境變量配置結(jié)束巴帮,可以至E:\apache-jmeter-3.2\bin(安裝目錄下bin目錄)下尋找jmeter.bat文件,雙擊打開(kāi)。(可能安裝會(huì)遇到各種各樣的問(wèn)題榕茧,筆者曾經(jīng)在某些技術(shù)群中發(fā)現(xiàn)有不用配置環(huán)境變量便可以使用(至于到底什么情況垃沦,不是當(dāng)事者也不清楚);還有找不到bat文件(系統(tǒng)默認(rèn)將后綴名進(jìn)行隱藏掉了嘛))
? 看到上方小黑窗用押,隨后下方Jmeter的彈窗跳出來(lái)肢簿。那么恭喜你,Jmeter已經(jīng)被你給拿下了只恨。
可以觀察該小黑窗中的同時(shí)內(nèi)容译仗,
Don't use GUI mode for load testing, only for Test creation and Test debugging !
For load testing, use NON GUI Mode:
jmeter -n -t [jmx file] -l [results file] -e -o [Path to output folder]
& adapt Java Heap to your test requirements:
Modify HEAP="-Xms512m -Xmx512m" in the JMeter batch file
不要使用GUI模式進(jìn)行負(fù)載測(cè)試,只用于測(cè)試創(chuàng)建和調(diào)試官觅!---------------------what mean?
GUI模式----便是下方的彈窗阐污,此處的意思便是推薦使用GUI模式進(jìn)行創(chuàng)建腳本以及調(diào)試腳本休涤,不推薦進(jìn)行負(fù)載測(cè)試(所謂負(fù)載測(cè)試是屬于性能測(cè)試的一種類(lèi)型,通過(guò)測(cè)試系統(tǒng)在資源超負(fù)荷情況下的表現(xiàn)笛辟,以發(fā)現(xiàn)設(shè)計(jì)上的錯(cuò)誤和驗(yàn)證系統(tǒng)的負(fù)載能力功氨,在這種測(cè)試中,將使測(cè)試對(duì)象承擔(dān)不同的工作量手幢,以評(píng)測(cè)和評(píng)估測(cè)試對(duì)象在不同工作量條件下的性能行為捷凄,以及持續(xù)正常運(yùn)行的能力;負(fù)載測(cè)試的目的是確定并確保系統(tǒng)在超出最大預(yù)期工作量的情況下仍能正常運(yùn)行围来,此外跺涤,負(fù)載測(cè)試還要評(píng)估性能特征;例如:響應(yīng)時(shí)間监透、事務(wù)處理速率和其他與時(shí)間相關(guān)方面)桶错,因此可以看出負(fù)載測(cè)試是比較浪費(fèi)系統(tǒng)資源的,GUI界面本身便很浪費(fèi)資源胀蛮,因此如果出現(xiàn)大并發(fā)或者機(jī)器處于大負(fù)載的情況下院刁,非但不會(huì)得到你想要的結(jié)果,機(jī)器是必然會(huì)出現(xiàn)卡死的情況粪狼。
不過(guò)退腥,小黑窗的下方一段話也給出了解決方案:
For load testing, use NON GUI Mode:
jmeter -n -t [jmx file] -l [results file] -e -o [Path to output folder]
& adapt Java Heap to your test requirements:
Modify HEAP="-Xms512m -Xmx512m" in the JMeter batch file
對(duì)于負(fù)載測(cè)試使用no-GUI的方式進(jìn)行運(yùn)行:
jmeter -n -t [jmx file] -l [results file] -e -o [Path to output folder]
這段命令便是NO-GUI的方式運(yùn)行。
或者進(jìn)行修改堆內(nèi)存的大性匍:
Jmeter的默認(rèn)堆為512m狡刘,因此,如果使用Jmeter進(jìn)行負(fù)載測(cè)試建議將堆內(nèi)存進(jìn)行修改到合適的大胁桓颓帝;
修改方法:
至E:\apache-jmeter-3.2\bin,使用文本編輯器模式將jmeter.bat文件打開(kāi),進(jìn)行修改heap:
? 修改此處的堆內(nèi)存大小只是一種手段购城,但并不是萬(wàn)能的吕座。因此,做負(fù)載測(cè)試還是需要進(jìn)行謹(jǐn)慎分析瘪板,再下結(jié)論吴趴。
OK,本篇先記錄到這侮攀。锣枝。
歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處兰英。 限于本人水平撇叁,如果文章和代碼有表述不當(dāng)之處,還請(qǐng)不吝賜教畦贸。 ---紫陌花間客