Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
國家航空航天、輪船、建筑、水利及大中小型企業(yè)等大批量生產(chǎn)制造中離不開電阻焊的運用,電阻在如今已經(jīng)有成熟的技術(shù)積累。但在產(chǎn)品焊接初期,對焊接強度的檢測依舊是十分重要的。可以有效的避免之后焊接質(zhì)量出現(xiàn)問題。要防止這類事故產(chǎn)生就要依靠焊接質(zhì)量的檢測。
一般焊機質(zhì)量檢測分成兩類方式:第一、目視檢測、密封性檢測和提升規(guī)定載荷下的接頭強度檢測等。第二、依靠物理檢測方式,可以運用X射線檢測、超聲波檢測、渦流檢測、熱圖像法和檢測和磁粉檢測等。
駿騰發(fā)點焊機|電阻焊的焊縫質(zhì)量有什么檢測方式
因而加強品質(zhì)的管理是大家首要保證的基礎(chǔ):壓力檢測:焊接發(fā)熱量受電極與工件間接觸電阻十分大,焊接時壓力要平穩(wěn),因而要應(yīng)用壓力測試儀器開展檢測,也有一類狀況是,電極無法緊跟工件,而發(fā)生異常的飛濺,焊接機頭要查驗。電極熱度過高:挑選高品質(zhì)電極,而偽劣電極會造成電極熱度過高,危害電極自身的使用壽命,造成工件品質(zhì)不符合標(biāo)準(zhǔn)。
電極修磨:電極歸屬于消耗品,伴隨著焊接頻次的提升,電極表層會發(fā)生氧化物及油脂,也會使電阻擴大,要按時應(yīng)用修磨器按時修磨,也需要依據(jù)焊接頻次替換新電極。
工件精度:沒依據(jù)焊接參數(shù)而選定工件,例如工件厚度、材質(zhì)等會造成焊接不良率提升。
電流測試:危害電流變化的緣故有:電源、電源的波動、超載應(yīng)用。
轉(zhuǎn)載自:http://www.china-welding.com/articles/dzhdhf2588.html
者:lovesoo
來源:blog.csdn.net/lovesoo/article/details/78579547
1. Jmeter簡介
Apache JMeter是一款純java編寫負載功能測試和性能測試開源工具軟件。相比Loadrunner而言,JMeter小巧輕便且免費,逐漸成為了主流的性能測試工具,是每個測試人員都必須要掌握的工具之一。
本文為JMeter性能測試完整入門篇,從Jmeter下載安裝到編寫一個完整性能測試腳本、最終執(zhí)行性能測試并分析性能測試結(jié)果。
運行環(huán)境為Windows 10系統(tǒng),JDK版本為1.8,JMeter版本為3.3。
2. Jmeter安裝
2.1 JDK安裝
由于Jmeter是基于java開發(fā),首先需要下載安裝JDK (目前JMeter只支持到Java 8,尚不支持 Java 9)
1.官網(wǎng)下載地址:
http://www.oracle.com/technetwork/java/javase/downloads/index.html
2.選擇Java SE 8u151/ 8u152,點擊JDK下載
3.安裝下載的JDK
4.配置系統(tǒng)環(huán)境變量
2.2 JMeter安裝
1.官網(wǎng)下載地址:
http://jmeter.apache.org/download_jmeter.cgi
2.下載最新JMeter 3.3版本:apache-jmeter-3.3.zip
3.下載完成后解壓zip包
4.啟動JMeter
雙擊JMeter解壓路徑(apache-jmeter-3.3\bin)bin下面的jmeter.bat即可
3. 測試實例
我們選取最常見的百度搜索接口:
3.1 接口地址
http://www.baidu.com/s?ie=utf-8&wd=jmeter性能測試
3.2 請求參數(shù)
ie:編碼方式,默認為utf-8
wd: 搜索詞
3.3 返回結(jié)果
搜索結(jié)果,我們可以通過校驗結(jié)果中是否含有搜索詞wd來判斷本次請求成功或失敗。
4. JMeter腳本編寫
4.1 添加線程組
右鍵點擊“測試計劃” -> “添加” -> “Threads(Users)” -> “線程組”
這里可以配置線程組名稱,線程數(shù),準(zhǔn)備時長(Ramp-Up Period(in seconds))循環(huán)次數(shù),調(diào)度器等參數(shù):
線程組參數(shù)詳解:
因為接口調(diào)試需要,我們暫時均使用默認設(shè)置,待后面真正執(zhí)行性能測試時再回來配置。
4.2 添加HTTP請求
右鍵點擊“線程組” -> “添加” -> “Sampler” -> “HTTP請求”
對于我們的接口http://www.baidu.com/s?ie=utf-8&wd=jmeter性能測試,可以參考下圖填寫:
Http請求主要參數(shù)詳解:
1.Web服務(wù)器
2.Http請求
3.同請求一起發(fā)送參數(shù)
在請求中發(fā)送的URL參數(shù),用戶可以將URL中所有參數(shù)設(shè)置在本表中,表中每行為一個參數(shù)(對應(yīng)URL中的 name=value),注意參數(shù)傳入中文時需要勾選“編碼”
4.3 添加察看結(jié)果樹
右鍵點擊“線程組” -> “添加” -> “監(jiān)聽器” -> “察看結(jié)果樹”
這時,我們運行Http請求,修改響應(yīng)數(shù)據(jù)格式為“HTML Source Formatted”,可以看到本次搜索返回結(jié)果頁面標(biāo)題為”jmeter性能測試_百度搜索“。
4.4 添加用戶自定義變量
我們可以添加用戶自定義變量用以Http請求參數(shù)化,右鍵點擊“線程組” -> “添加” -> “配置元件” -> “用戶定義的變量”:
新增一個參數(shù)wd,存放搜索詞:
并在Http請求中使用該參數(shù),格式為:${wd}
4.5 添加斷言
右鍵點擊“HTTP請求” -> “添加”-> “斷言” -> “響應(yīng)斷言”
我們校驗返回的文本中是否包含搜索詞,添加參數(shù)${wd}到要測試的模式中:
4.6 添加斷言結(jié)果
右鍵點擊“HTTP請求” -> “添加”-> “監(jiān)聽器” -> “斷言結(jié)果”
這時,我們再運行一次就可以看到斷言結(jié)果成功或失敗了
4.7 添加聚合報告
右鍵點擊“線程組” -> “添加” -> “監(jiān)聽器” -> “聚合報告”,用以存放性能測試報告
這樣,我們就完成了一個完整Http接口的JMeter性能測試腳本編寫。
5. 執(zhí)行性能測試
5.1 配置線程組
點擊線程組,配置本次性能測試相關(guān)參數(shù):線程數(shù),循環(huán)次數(shù),持續(xù)時間等,這里我們配置并發(fā)用戶數(shù)為10,持續(xù)時間為60s
5.2 執(zhí)行測試
點擊綠色小箭頭按鈕即可啟動測試,測試之前需要點擊小掃把按鈕清除之前的調(diào)試結(jié)果。
6. 分析測試報告
待性能測試執(zhí)行完成后,打開聚合報告可以看到:
聚合報告參數(shù)詳解:
一般而言,性能測試中我們需要重點關(guān)注的數(shù)據(jù)有:#Samples 請求數(shù),Average 平均響應(yīng)時間,Min 最小響應(yīng)時間,Max 最大響應(yīng)時間,Error% 錯誤率及Throughput 吞吐量。
7. 源碼下載
至此,我們使用JMeter完成了一個完整的Http接口性能測試流程,從腳本編寫,執(zhí)行到最終結(jié)果分析。
在代碼寫好之后,通常需要對場景進行性能測試,例如購買商品場景、登錄場景、支付場景等,此階段會出現(xiàn)的典型問題如下:
(1)當(dāng)前登錄場景可能需要調(diào)用N個接口,每天高峰期的時候,應(yīng)用程序可以承受多少人登錄。
(2)秒殺系統(tǒng)最多可以讓多少人同時單擊“購買”按鈕而不出現(xiàn)異常。
(3)連續(xù)100小時以上的疲勞測試是否會使系統(tǒng)內(nèi)存出現(xiàn)無法下降、GC無法回收內(nèi)存、疲勞測試之后CPU無法正常下降等問題。
(4)在并發(fā)壓力下,應(yīng)用程序哪里消耗資源過多,需要進行優(yōu)化?
(5)在復(fù)雜場景下,整體接口包含調(diào)用邏輯,其中可能包括if-else判斷、for/while循環(huán)、獲取上一個接口的信息傳輸?shù)较乱粋€接口中等操作,如何簡化這部分性能測試的需求?
(6)針對協(xié)議如何進行測試?例如HTTP輪詢與WebSocket哪個更消耗性能?大概相差多少?
(7)當(dāng)單臺壓力機無法生成更大的壓力時,如何增加壓力機?
針對上面提出的問題,全部可以通過JMeter解決。
JMeter是100%完全由Java編寫的對軟件進行性能測試的桌面程序,其桌面GUI部分可方便用戶用無代碼的方式編寫性能測試腳本。待測試腳本編寫完成之后,通常使用后臺啟動JMeter的方式運行性能測試腳本(因為GUI消耗資源過多)。
與JMH不同的是,JMeter通常以多個代碼單元組合成場景,模擬真正用戶進行操作的調(diào)用順序進行測試,其結(jié)果更加符合上線后的實際需求。也就是說,JMeter更擅長對項目整體進行測試與優(yōu)化,而JMH更擅長對代碼局部進行測試與優(yōu)化。
JMeter可以對多種協(xié)議進行性能測試,包括并不限于HTTP、HTTPS、WS、WSS、TCP、UDP、SOAP和FTP。除此之外,還可以對NoSQL、MySQL、JMS等數(shù)據(jù)源或容器進行性能測試。
除編寫性能測試腳本外,JMeter還支持使用腳本錄制的方式進行性能測試,即通過網(wǎng)頁代理進行頁面上的操作,其操作流程會被直接錄制下來,并自動轉(zhuǎn)換成性能測試腳本。此后每次測試時,只需直接使用腳本進行性能測試即可。在JMeter腳本錄制的輔助下,再困難的業(yè)務(wù)邏輯也可以輕松地進行測試。
JMeter具有制作良好的GUI,即便初次接觸的人,也可以迅速理解它并進行操作。
JMeter具有各種可插拔的插件,因為JMeter的應(yīng)用范圍較為廣泛,所以插件數(shù)量龐大。其插件完全由Java語言編寫,方便因特殊業(yè)務(wù)邏輯進行自我擴展。
JMeter包含各種斷言、采樣器等功能,方便用戶在性能測試過程中,獲取接口返回值,并對返回值進行參數(shù)化處理。例如,在調(diào)用接口2時,使用從接口1處返回的數(shù)值。
除性能測試外,JMeter在CI/CD領(lǐng)域也可以配合其他工具實現(xiàn)接口自動化測試架構(gòu),如JMeter+Ant+Jenkins等。
取樣器(Sampler):取樣器是JMeter的基礎(chǔ)單元,通常各種協(xié)議的請求皆由取樣器發(fā)起。例如,HTTP請求、FTP請求、JMS發(fā)布與訂閱、Java請求、LDAP請求、JDBC請求、TCP請求、SMTP請求和WebSocket請求(需下載額外插件)等。
配置元件(ConfigurationElement):配置元件主要對取樣器中的各種請求進行輔助配置。例如,HTTP信息頭管理器、HTTP緩存管理器、HTTPCookie管理器、JDBC連接配置、LDAP擴展請求、FTP默認請求、TCP取樣器配置等。另外,在配置元件中還包含一些與測試計劃相關(guān)的配置元件,主要包括計數(shù)器、用戶定義的變量等。
邏輯控制器(Logic Controller):邏輯控制器主要控制JMeter腳本的執(zhí)行順序。例如,從接口1處請求得到的結(jié)果,經(jīng)過邏輯控制器判斷之后,會控制執(zhí)行到接口2或接口3。邏輯控制器的存在使得整體測試的靈活度更高。
邏輯控制器中主要包含if控制器、事務(wù)控制器、循環(huán)控制器、While控制器、臨界部分控制器、ForEach控制器、僅執(zhí)行一次控制器、吞吐量控制器和Switch控制器等。
前置處理器(Pre-Processor):在執(zhí)行取樣器之前,需執(zhí)行前置處理器。前置處理器主要包括HTML鏈接解釋器、HTML URL重寫修飾符和取樣器超時等。
后置處理器(Post-Processor):在執(zhí)行取樣器之后,需執(zhí)行后置處理器。后置處理器主要包括CSS/JQuery提取器、JSON提取器、邊界提取器、BeanShell斷言和正則表達式提取器等。這些后置處理器在提取數(shù)據(jù)之后,可對上一個請求得到的結(jié)果進行參數(shù)化,并傳輸?shù)较乱粋€請求中。
斷言(Assertion):斷言可用來驗證服務(wù)器返回的數(shù)據(jù)與預(yù)期是否相符,如果不相符,可以記錄或停止測試計劃。斷言主要包括響應(yīng)斷言、JSON斷言、大小斷言、HTML斷言、XML斷言和BeanShell斷言等。
定時器(Timer):在測試計劃執(zhí)行過程中,定時器主要用來減緩線程運行。例如,線程在請求接口1執(zhí)行之后,需暫停若干ms之后再請求接口2。定時器主要包括固定定時器和隨機定時器等。
監(jiān)聽器(Listener):監(jiān)聽器主要用來收集測試結(jié)果報告。監(jiān)聽器主要包括:察看結(jié)果樹、斷言結(jié)果和聚合報告等。另外,在下載插件之后,還可以監(jiān)聽被測試端機器的CPU和內(nèi)存等信息。
JMeter的功能繁多,本章內(nèi)容僅為拋磚引玉。JMeter除自身所帶功能外,還可通過添加jar包的方式,增加更多的配置元件、請求方式等。若某些測試場景連擴展功能都無法滿足,則可自行編寫Java程序?qū)拥腏Meter接口,生成jar包,并在JMeter中當(dāng)作擴展的配置原件進行使用。
JMeter參數(shù)化的實現(xiàn)方式
JMeter參數(shù)化的實現(xiàn)方式如下:
? JMeter函數(shù):JMeter函數(shù)指GUI界面→工具→函數(shù)助手對話框中JMeter自帶的函數(shù)內(nèi)容,主要包括Random(隨機數(shù)字)、RandomString(隨機字符串)、RandomDate(隨機時間)、splt(字符串拆分)、property(自定義數(shù)值)、UUID和char等。
? JMeter讀取外部文件:讀取外部配置文件的方式較多,包括JMeter函數(shù) 中 的 StringFromFile ( 從 文 件 中 讀 取 字 符 串 ) 、 配 置 元 件 中 的CSVDataSetConfig(從CSV文件中讀取配置信息)等。
? JMeter提取上一個接口返回值:通常通過后置處理器中的BeanShell斷言、JSON提取器和正則表達式提取器等方式提取相應(yīng)返回值。
JMeter在提取數(shù)據(jù)后,需要在HTTP請求腳本中通過${變量名稱}的形式使用參數(shù)化變量,并且除請求body外,在任何地方都可以使用變量名稱。例如,路徑、服務(wù)器名稱或IP地址、端口號、協(xié)議和編碼等。
JMeter函數(shù)
JMeter函數(shù)的位置如圖5-1所示。
圖5-1
JMeter函數(shù)助手對話框如圖5-2所示。
圖5-2
在配置相應(yīng)內(nèi)容之后,可單擊“生成”按鈕,生成相關(guān)函數(shù),如圖5-3所示。
圖5-3
此次示例中使用的是RandomString函數(shù)。在Charts to use for randomstring generation對話框中隨機輸入若干數(shù)字、字母、漢字,此函數(shù)會隨機拆分。在Random string length中,從The result of the function is對話框中可以看到該函數(shù)的返回結(jié)果。復(fù)制生成的函數(shù),即可在請求中進行使用,如圖5-4所示。
圖5-4
從察看結(jié)果樹處或后臺處可以看到已經(jīng)發(fā)送過去了一段隨機字符串,如圖5-5所示。
圖5-5
通過JMeter讀取外部文件
創(chuàng)建a.csv文件,如圖5-6所示。
圖5-6
在測試計劃中添加CSV Data Set Config(CSV數(shù)據(jù)文件設(shè)置器),如圖5-7所示。
圖5-7
配置之后,讀取a.csv文件中的數(shù)據(jù)并編寫HTTP請求部分的內(nèi)容。
通過JMeter提取上一個接口返回值
為方便測試,下面更改代碼,如圖5-8所示。
圖5-8
在測試計劃中添加JSON提取器,如圖5-9所示。編寫JSON提取器的相應(yīng)規(guī)則,在Names of created variables后面的文本框中填寫需要在HTTP請求中編寫的變量名稱,在JSON Path expressions后面的文本框中填寫JSON的value值映射,如圖5-10所示
圖5-9
圖5-10
配置之后,讀取接口中的數(shù)據(jù)并進行HTTP請求部分的編寫,此時整體測試計劃應(yīng)如圖5-11所示。getAge的請求結(jié)果如圖5-12所示。
圖5-11
圖5-12
從官網(wǎng)下載JMeter的5.4.1版本之后,直接運行JMeter.bat文件,即可在Windows 系 統(tǒng) 下 打 開 JMeter 的 GUI 控 制 頁 面 , 單 擊Options→ChooseLanguage→Chinese(Simplified)選項,修改顯示語語,如圖5-13所示。
圖5-13
在修改顯示語言之后,在Test Plan(測試計劃)下添加線程組,如圖5-14所示。
圖5-14
線程組窗口如圖5-15所示。
圖5-15
? 線程數(shù):指此次測試總共開啟的線程數(shù)。
? Ramp-Up時間(秒):表示在多長時間內(nèi)開啟所有的線程數(shù)。若該時間設(shè)置過長,則可能導(dǎo)致在剛啟動時請求壓力不足,平均結(jié)果不符合實際預(yù)期。若該時間設(shè)置過短,則可能導(dǎo)致在剛啟動時請求壓力過大,服務(wù)器直接崩潰。該時間應(yīng)根據(jù)具體項目進行設(shè)置,通常設(shè)置為線程數(shù)的10%即可。
? 循環(huán)次數(shù):指整體線程組的循環(huán)執(zhí)行次數(shù),通常請求的事務(wù)總數(shù)為線程數(shù)×循環(huán)次數(shù)。
? 調(diào)度器:需要配合“循環(huán)次數(shù)”和“永遠”選項同時使用,即不按循環(huán)次數(shù)進行執(zhí)行線程,而是根據(jù)時間循環(huán)所有線程。該方式為性能測試的常見方式,通常在調(diào)試完腳本之后,選擇調(diào)度器增加持續(xù)時間即可。在使用調(diào)度器之后,線程會盡可能地執(zhí)行,所以其總事務(wù)數(shù)沒有預(yù)期,可在執(zhí)行時長之后,從聚合報告上查看總事務(wù)數(shù)。
在添加線程組之后,需添加HTTP請求的取樣器,如圖5-16所示。
圖5-16
HTTP請求窗口如圖5-17所示。HTTP請求的取樣器的使用方式與Postman幾乎沒有差別,只需按規(guī)定輸入相關(guān)的內(nèi)容即可。
圖5-17
部分HTTP請求需配置HTTP請求頭,即在HTTP請求頭中輸入token之類的內(nèi)容。此時可在HTTP請求的級別下,添加HTTP信息頭管理器配置元件,在配置元件中編寫相關(guān)內(nèi)容,如圖5-18所示。
圖5-18
在針對HTTP請求相關(guān)內(nèi)容進行配置之后,需要對整體測試結(jié)果進行監(jiān)控,通常使用察看結(jié)果樹和聚合報告對測試結(jié)果進行監(jiān)控,如圖5-19所示。
圖5-19
在察看結(jié)果樹中可以看到每次請求的請求值與返回結(jié)果等相關(guān)信息。在高并發(fā)測試下,由于數(shù)據(jù)量過大,建議在察看結(jié)果樹中進行配置,使其只返回錯誤的結(jié)果即可。
聚合報告中包含總請求事務(wù)數(shù)、中位數(shù)與百分位的響應(yīng)時間、異常數(shù)量與異常所占百分比、吞吐量、接收與發(fā)送的每秒帶寬占用量等。
值得注意的是,察看結(jié)果樹需通常放置在HTTP請求的下一級別或同一級別中,而聚合報告需要與HTTP請求處于同一級別。這是因為如果在測試計劃中包含多個HTTP請求,并且聚合報告處于HTTP請求之下,則聚合報告只返回該HTTP請求的響應(yīng)情況,不會返回多個HTTP請求的整體情況。
前面已經(jīng)配置好了一個包含HTTP請求的壓力測試腳本,保存這個壓力測試腳本即可。
在GUI模式下啟動JMeter,如圖5-20所示。
圖5-20
察看結(jié)果樹的返回結(jié)果如圖5-21和圖5-22所示。
圖5-21
圖5-22
此時已確定該腳本是可以正常運行的,下面增加線程組的線程數(shù)并配置調(diào)度器,再次保存腳本,并使用非GUI模式(命令行模式)啟動JMeter,命令如下所示:
命令解析如下所示:
? -h:幫助,打印出有用的信息并退出。
? -n:在非GUI模式下運行JMeter。
? -t:要運行的JMeter測試腳本文件。
? -l:輸出日志文件,即記錄結(jié)果的文件。此時所編寫的為要輸出的文件名稱,在原來的文件夾中不需要包含這個文件。
? -r:遠程執(zhí)行,在Jmter.properties文件中指定所有遠程服務(wù)器。
? -H:設(shè)置JMeter使用的代理主機。
? -P:設(shè)置JMeter使用的代理主機的端口號。
在執(zhí)行JMeter命令后,結(jié)果如圖5-23所示。
圖5-23
生成的日志文件如圖5-24所示,其中a.jmx文件為JMeter測試腳本文件,a.jtl文件為JMeter測試報告。
圖5-24
可通過聚合報告中的瀏覽按鈕打開圖5-24中生成的測試報告,如圖5-25所示。
圖5-25
如果在編寫腳本時出現(xiàn)錯誤,則可以通過選項菜單下的日志查看功能,查看JMeter的具體報錯內(nèi)容,如圖5-26與圖5-27所示。
圖5-26
圖5-27
錄制性能測試腳本
錄制性能測試腳本指通過在頁面單擊的形式,記錄所有的請求信息,包括HTTP內(nèi)響應(yīng)信息與響應(yīng)頭等。錄制性能測試腳本是性能測試過程中最常用的技術(shù),在錄制性能測試腳本之后,會對其參數(shù)進行微調(diào),然后使用該腳本進行性能測試。
通常使用JMeter自帶的HTTP代理服務(wù)器錄制性能測試腳本,除此之外,還可以使用BadBoy工具對頁面進行錄制,并通過BadBoy工具將錄制的腳本另存為.jmx文件。下面在JMeter中添加HTTP代理服務(wù)器,如圖5-28所示。
圖5-28
在HTTP代理服務(wù)器中可編寫自定義的代理端口號,并在目標(biāo)控制器中進行配置。目標(biāo)控制器指該次錄制的腳本將放置在哪個線程組中。在配置結(jié)束后單擊啟動按鈕即可,如圖5-29所示。
圖5-29
在搭建好JMeter的代理服務(wù)器之后,需配置本地計算機的Internet屬性,增加代理服務(wù)器與剛自定義的端口號,如圖5-30所示。此后隨意單擊一些頁面即可看到通過代理服務(wù)器進行請求的接口都已錄制到線程組中,如圖5-31所示。
(1)編寫JMeter腳本,一臺JMeter模擬正常用戶正在使用,另一臺JMeter模擬登錄,將模擬登錄的JMeter性能提高一些。最后得到的JMeter報表即為當(dāng)前應(yīng)用程序可以承受的最大壓力。
(2)該測試可將JMeter的壓力開到最大,同時監(jiān)控秒殺系統(tǒng)的CPU和內(nèi)存是否出現(xiàn)異常,并定時檢查不同數(shù)據(jù)源的數(shù)據(jù)是否保持數(shù)據(jù)一致性,即可得知當(dāng)前秒殺系統(tǒng)可承載多大的壓力。
(3)該測試需要服務(wù)器不斷運行,在運行之后查看JVM的GC信息、CPU與內(nèi)存信息,確保程序上線后,在長時間運行的情況下,可以將使用的內(nèi)存正?;厥掌饋?。很多程序在剛運行的時候是沒有問題的,但是無法長時間運行,此測試就是針對這種情況進行的。
圖5-30
圖5-31
(4)該測試需要編程人員在測試過程中使用Arthas等相關(guān)工具,監(jiān)控當(dāng)前測試的接口,了解線程消耗。例如,當(dāng)前使用Redisson操作Redis,則需要查看Redisson實際開啟了多少個Thread線程,并且每個線程消耗了多少CPU與內(nèi)存?;虿榭茨硞€接口中哪個子函數(shù)的響應(yīng)速度最慢。這種優(yōu)化類的測試屬于細致類的工作,需要大量的時間進行排查,以提高應(yīng)用程序的單節(jié)點性能(縱向優(yōu)化)。
(5)可以用JMeter腳本錄制的方式,通過JMeter自帶的網(wǎng)絡(luò)代理在網(wǎng)頁上仿照正常用戶單擊網(wǎng)頁即可獲得完整的JMeter腳本,只需調(diào)整一下JMeter參數(shù)化傳遞即可。
(6)通過不同的JMeter插件即可完成對不同協(xié)議的測試。JMeter官方地址包含大部分協(xié)議與工具的插件應(yīng)用,并且配備了相關(guān)教程,十分方便。
(7)當(dāng)單臺JMeter無法增加更大壓力時,可部署JMeter集群。
*請認真填寫需求信息,我們會在24小時內(nèi)與您取得聯(lián)系。