JMeter接口壓力測試課程入門到高級實戰(zhàn)教程(詳情)


章節(jié)一壓力測試課程介紹
1沦寂、2018年億級流量壓測系列之Jmeter4.0課程介紹和效果演示  
    簡介:
        講解課程安排蜜自,使用的Jmeter版本

        講課風格:涉及的組件皂吮,操作配置多哥遮,不會一次性講解,會先講部分,然后在后續(xù)操作中慢慢補充,更容易消化和理解


2笨农、常用壓力測試工具對比
    簡介:目前用的常用測試工具對比
        1、loadrunner
            性能穩(wěn)定帖渠,壓測結(jié)果及細粒度大谒亦,可以自定義腳本進行壓測,但是太過于重大阿弃,功能比較繁多

        2诊霹、apache ab(單接口壓測最方便)
            模擬多線程并發(fā)請求,ab命令對發(fā)出負載的計算機要求很低,既不會占用很多CPU渣淳,也不會占用太多的內(nèi)存脾还,但卻會給目標服務器造成巨大的負載, 簡單DDOS攻擊等

        3、webbench
            webbench首先fork出多個子進程入愧,每個子進程都循環(huán)做web訪問測試鄙漏。子進程把訪問的結(jié)果通過pipe告訴父進程嗤谚,父進程做最終的統(tǒng)計結(jié)果。


章節(jié)二 JMeter4.x基礎知識講解和壓測實操
3怔蚌、Jmeter基本介紹和使用場景
    簡介
        1巩步、壓測不同的協(xié)議和應用
            1) Web - HTTP, HTTPS (Java, NodeJS, PHP, ASP.NET, …)
            2) SOAP / REST Webservices
            3) FTP
            4) Database via JDBC
            5) LDAP  輕量目錄訪問協(xié)議
            6) Message-oriented middleware (MOM) via JMS
            7) Mail - SMTP(S), POP3(S) and IMAP(S)
            8) TCP等等

        2、使用場景及優(yōu)點
            1)功能測試
            2)壓力測試
            3)分布式壓力測試
            4)純java開發(fā)
            5)上手容易桦踊,高性能
            4)提供測試數(shù)據(jù)分析
            5)各種報表數(shù)據(jù)圖形展示


4椅野、本地快速安裝Jmeter4.x
 簡介:GUI圖形界面的安裝
     1、需要安裝JDK8籍胯【股粒或者JDK9,JDK10
     2、快速下載
        windows: http://mirrors.tuna.tsinghua.edu.cn/apache//jmeter/binaries/apache-jmeter-4.0.zip
        mac或者linux:http://mirrors.tuna.tsinghua.edu.cn/apache//jmeter/binaries/apache-jmeter-4.0.tgz

     3杖狼、文檔地址:http://jmeter.apache.org/usermanual/get-started.html

     4炼蛤、建議安裝JDK環(huán)境,雖然JRE也可以蝶涩,但是壓測https需要JDK里面的 keytool工具


5理朋、Jmeter目錄文件講解
    簡介:講解jmeter解壓文件里面的各個目錄,文件等
    1绿聘、目錄
        bin:核心可執(zhí)行文件嗽上,包含配置
            jmeter.bat: windows啟動文件:
            jmeter: mac或者linux啟動文件:
            jmeter-server:mac或者Liunx分布式壓測使用的啟動文件
            jmeter-server.bat:mac或者Liunx分布式壓測使用的啟動文件
            jmeter.properties: 核心配置文件
            
            

        extras:插件拓展的包
        lib:核心的依賴包
            ext:核心包
            junit:單元測試包


6、Jmeter語言版本中英文切換
    簡介:
        講解怎么改變jmeter的GUI界面語言版本
        1斜友、控制臺修改
            menu -> options -> choose language
        2炸裆、配置文件修改    
            bin目錄 -> jmeter.properties
                默認 #language=en
                改為 language=zh_CN 


7垃它、使用SpringBoot 2.0快速編寫API測試接口
    簡介
        使用java的框架springBoot快速編寫幾個API接口測試

        https://spring.io/guides/gs/spring-boot/

        接口列表
            1鲜屏、模擬GET請求,用戶列表接口
            2国拇、模擬POST請求洛史,用戶登錄接口

        http://localhost:8080/users


8、創(chuàng)建Jmeter測試計劃酱吝,快速壓測一個接口
    簡介:
        通過帶著why來學習也殖,快速創(chuàng)建一個測試計劃


章節(jié)三 Jmeter核心組件講解和實操

9、Jmeter基礎功能組件介紹線程組和Sampler
    簡介:講解Jmeter里面GUI菜單欄主要組件
        
        1务热、添加->threads->線程組(控制總體并發(fā))
            線程數(shù):虛擬用戶數(shù)忆嗜。一個虛擬用戶占用一個進程或線程
            
            準備時長(Ramp-Up Period(in seconds)):全部線程啟動的時長,比如100個線程崎岂,20秒捆毫,則表示20秒內(nèi)100個線程都要啟動完成,每秒啟動5個線程
            
            循環(huán)次數(shù):每個線程發(fā)送的次數(shù)冲甘,假如值為5绩卤,100個線程途样,則會發(fā)送500次請求,可以勾選永遠循環(huán)

            

        2濒憋、線程組->添加-> Sampler(采樣器) -> Http (一個線程組下面可以增加幾個Sampler)
            名稱:采樣器名稱
            注釋:對這個采樣器的描述
            
            web服務器:
                默認協(xié)議是http
                默認端口是80
                服務器名稱或IP :請求的目標服務器名稱或IP地址

            路徑:服務器URL

            Use multipart/from-data for HTTP POST :當發(fā)送POST請求時何暇,使用Use multipart/from-data方法發(fā)送,默認不選中凛驮。


        3裆站、查看測試結(jié)果
            線程組->添加->監(jiān)聽器->察看結(jié)果樹


10、Jmeter的斷言基本使用
    簡介:介紹什么是斷言及基本使用

        1黔夭、增加斷言: 線程組 -> 添加 -> 斷言 -> 響應斷言  

            apply to(應用范圍):
                Main sample only: 僅當前父取樣器 進行斷言遏插,一般一個請求,如果發(fā)一個請求會觸發(fā)多個纠修,則就有sub sample(比較少用)
            要測試的響應字段:
                響應文本:即響應的數(shù)據(jù)胳嘲,比如json等文本
                響應代碼:http的響應狀態(tài)碼,比如200扣草,302了牛,404這些
                響應信息:http響應代碼對應的響應信息,例如:OK, Found
                Response Header: 響應頭
            模式匹配規(guī)則:
                包括:包含在里面就成功
                匹配:響應內(nèi)容完全匹配辰妙,不區(qū)分大小寫
                equals:完全匹配鹰祸,區(qū)分大小寫
                


        2、斷言結(jié)果監(jiān)聽器: 線程組-> 添加 -> 監(jiān)聽器 -> 斷言結(jié)果
            里面的內(nèi)容是sampler采樣器的名稱
            斷言失敗密浑,查看結(jié)果樹任務結(jié)果顏色標紅(通過結(jié)果數(shù)里面雙擊不通過的記錄蛙婴,可以看到錯誤信息)


        3、每個sample下面可以加單獨的結(jié)果樹尔破,然后同時加多個斷言街图,最外層可以加個結(jié)果樹進行匯總




11、Jmeter實戰(zhàn)之壓測結(jié)果聚合報告分析
    簡介:講解壓測結(jié)果的聚合報告

    新增聚合報告:線程組->添加->監(jiān)聽器->聚合報告(Aggregate Report)

            lable: sampler的名稱
            Samples: 一共發(fā)出去多少請求,例如10個用戶懒构,循環(huán)10次餐济,則是 100
            Average: 平均響應時間
            Median: 中位數(shù),也就是 50% 用戶的響應時間

            90% Line : 90% 用戶的響應不會超過該時間 (90% of the samples took no more than this time. The remaining samples at least as long as this)
            95% Line : 95% 用戶的響應不會超過該時間
            99% Line : 99% 用戶的響應不會超過該時間
            min : 最小響應時間
            max : 最大響應時間
            
            Error%:錯誤的請求的數(shù)量/請求的總數(shù)
            Throughput: 吞吐量——默認情況下表示每秒完成的請求數(shù)(Request per Second) 可類比為qps
            KB/Sec: 每秒接收數(shù)據(jù)量


12胆剧、Jmeter壓測腳本JMX講解
    簡介:壓測腳本JMX講解
        1絮姆、打開方式subline,或者xml編輯器
        2、運行日志和壓測時間查看(基礎按鈕)

章節(jié)四 自定義變量和CSV可變參數(shù)實操

13秩霍、Jmeter用戶自定義變量實戰(zhàn)

    簡介:什么是用戶自定義變量篙悯,怎樣使用

        為什么使用:很多變量在全局中都有使用,或者測試數(shù)據(jù)更改铃绒,可以在一處定義鸽照,四處使用
        比如服務器地址

        1、線程組->add -> Config Element(配置原件)-> User Definde Variable(用戶定義的變量)
        
        2匿垄、引用方式${XXX}移宅,在接口中變量中使用

        3归粉、原始查看結(jié)果樹和非原生查看(基礎按鈕)


14、Jmeter實戰(zhàn)之CSV可變參數(shù)壓測
    簡介:
        實戰(zhàn)操作jmeter讀取CSV和Txt文本文件里面的參數(shù)進行壓測
        1漏峰、線程組->add -> Config Element(配置原件)-> CSV data set config (CSV數(shù)據(jù)文件設置)
    
        
15糠悼、CSV文件多參數(shù)使用
        簡介:在讀取的配置文件里面,同時使用多個自定義參數(shù)

        1浅乔、如果是多個參數(shù)需要同時引用倔喂,則在CSV數(shù)據(jù)文件里面設置加多個字段 
           Variabled names(comma-delitited):  csv_name,csv_pwd

章節(jié)五 Mysql數(shù)據(jù)庫壓測實操

16、Jmeter壓測實戰(zhàn)之JDBC request壓測Mysql講解
    簡介:講解jdbc壓測mysql相關(guān)準備工作,jar包添加靖苇,配置講解
        1席噩、Thread Group -> add -> sampler -> jdbc request
        2、jar包添加  mysql-connector-java-5.1.30.jar 

        3贤壁、JDBC connection Configuration 配置
            1悼枢、JDBC request->add -> config element -> JDBC connection configuration
                核心配置
                    Max Number of connections : 最大連接數(shù)
                    MAX wait :最大等待時間
                    Auto Commit: 是否自動提交事務

                    DataBase URL : 數(shù)據(jù)庫連接地址 jdbc:mysql://127.0.0.1:3306/blog
                    JDBC Driver Class : 數(shù)據(jù)庫驅(qū)動,選擇對應的mysql
                    username:數(shù)據(jù)庫用戶名
                    password:數(shù)據(jù)庫密碼


17脾拆、Jmeter壓測實戰(zhàn)之JDBC request壓測Mysql, select語句
    簡介:使用jmeter壓測mysql馒索,select,insert語句
        1名船、Debug Sampler使用(結(jié)果樹中查看)
            Thread Group -> add -> sampler -> debug sampler
            
        2绰上、參數(shù)講解:(sql結(jié)尾不要加";")
            1、variable name of pool declared in JDBC connection configuration(和配置文件同名)
            2渠驼、Query Type 查詢類型
            3蜈块、parameter values 參數(shù)值
            4、parameter types  參數(shù)類型
            5迷扇、variable names  sql執(zhí)行結(jié)果變量名
            6百揭、result variable names 所有結(jié)果當做一個對象存儲
            7、query timeouts  查詢超時時間 
            8谋梭、 handle results  處理結(jié)果集
    


章節(jié)六 高級篇之分布式壓測基礎知識

18信峻、分布式壓測介紹
    簡介:講解什么是分布式壓測
        
         普通壓測:單臺機可以對目標機器產(chǎn)生的壓力比較小,受限因素包括CPU瓮床,網(wǎng)絡,IO等
         分布式壓測:利用多臺機器向目標機器產(chǎn)生壓力产镐,模擬幾萬用戶并發(fā)訪問


19隘庄、Jmeter分布式壓測原理
    簡介:講解Jmeter分布式壓測原理
        1、總控機器的節(jié)點master癣亚,其他產(chǎn)生壓力的機器叫“肉雞” server
        2丑掺、master會把壓測腳本發(fā)送到 server上面

        3、執(zhí)行的時候述雾,server上只需要把jmeter-server打開就可以了街州,不用啟動jmeter
        4兼丰、結(jié)束后,server會把壓測數(shù)據(jù)回傳給master,然后master匯總輸出報告
        5唆缴、配置詳情
            

章節(jié)七 高級篇之阿里云Linux服務器壓測接口實戰(zhàn)

20鳍征、SpringBoot 接口打包,并用jar包方式部署
    簡介:用jar包方式在控制臺進行啟動
    打包 mvn package && java -jar target/gs-spring-boot-0.1.0.jar
    
21面徽、阿里云服務器介紹和ECS服務器使用
    簡介:
        阿里云服務器介紹和購買ECS服務器等

        推薦購買2G內(nèi)存以上的進行開發(fā)學習

22艳丛、阿里云Linux服務器下安裝啟動JDK8并配置環(huán)境變量
    簡介:在阿里云環(huán)境下安裝JDK8并配置環(huán)境變量

23、部署java項目到阿里云服務器和守護進程講解
    簡介:
        部署項目到阿里云趟紊,并啟動氮双,公網(wǎng)可以訪問
        1、注意點
            關(guān)閉防火墻
            阿里云控制臺安全策略霎匈,開放端口
        linux上運行 java -jar xxxx
 
        ssh root@120.79.160.143

        守護進程:nohup java -jar xxxxx &
            什么是守護進程:

24戴差、阿里云Linux服務器安裝Jmeter 4.0
    簡介:在阿里云環(huán)境下安裝Jmeter

        經(jīng)濟足夠:購買兩臺阿里云機器
        不足:本地虛擬機,或者用你室友的電腦铛嘱,在同個局域網(wǎng)就可以造挽,安裝同個版本的jdk,jmeter,同個路徑,不要帶有空格或者中文

        下載地址
        wget http://apache.osuosl.org//jmeter/binaries/apache-jmeter-4.0.tgz

 25弄痹、Jmeter非GUI界面 參數(shù)講解
    講解:非GUI界面饭入,壓測參數(shù)講解
            -h 幫助
            -n 非GUI模式
            -t 指定要運行的 JMeter 測試腳本文件
            -l 記錄結(jié)果的文件 每次運行之前,(要確保之前沒有運行過,即xxx.jtl不存在肛真,不然報錯)
            -r Jmter.properties文件中指定的所有遠程服務器
            -e 在腳本運行結(jié)束后生成html報告
            -o 用于存放html報告的目錄(目錄要為空谐丢,不然報錯)

        官方配置文件地址 http://jmeter.apache.org/usermanual/get-started.html

        jmeter -n -t linux_users_api.jmx -l result.jtl -e -o /usr/local/softwate/jmeter/temp/ResultReport

        jmeter -n -t /Users/jack/Desktop/linux_users_api.jmx -l result.jtl -e -o /Users/jack/Desktop/person/jmeter/temp


26、項目實戰(zhàn)之阿里云Linux服務器下非GUI執(zhí)行jmeter壓測
    簡介:
        在阿里云服務器上以非GUI界面去執(zhí)行JMX壓測腳本

        
        jmx目錄:/usr/local/software/jmeter/temp


jmeter -n -t /usr/local/software/jmeter/temp/linux_users_api.jmx -l /usr/local/software/jmeter/temp/jtl/result.jtl 

章節(jié)八 高級篇之阿里云壓測 html可視化壓測報告細講

 27蚓让、阿里云Linux服務器 Jmeter壓測實戰(zhàn)之jtl文件生成和查看
    簡介:
        利用軟件從阿里云Centos服務器下載壓測報告乾忱,講解Jtl文件,并怎么查看文件
        可以通過打開jmeter历极,新建線程組->summary report->瀏覽文件 進行查看

 28窄瘟、Jmeter壓測接口的性能優(yōu)化

    簡介:講解Jmeter壓測減少資源使用的一些建議,即壓測結(jié)果更準確

    1趟卸、使用非GUI模式:jmeter -n -t test.jmx -l result.jtl

    2蹄葱、少使用Listener, 如果使用-l參數(shù)锄列,它們都可以被刪除或禁用图云。
    3、在加載測試期間不要使用“查看結(jié)果樹”或“查看結(jié)果”表監(jiān)聽器邻邮,只能在腳本階段使用它們來調(diào)試腳本竣况。
    
    4、包含控制器在這里沒有幫助筒严,因為它將文件中的所有測試元素添加到測試計劃中丹泉。]
    5情萤、不要使用功能模式,使用CSV輸出而不是XML
    6、只保存你需要的數(shù)據(jù),盡可能少地使用斷言
    
    7摹恨、如果測試需要大量數(shù)據(jù)筋岛,可以提前準備好測試數(shù)據(jù)放到數(shù)據(jù)文件中,以CSV Read方式讀取睬塌。
    8泉蝌、用內(nèi)網(wǎng)壓測,減少其他帶寬影響壓測結(jié)果
    9揩晴、如果壓測大流量勋陪,盡量用多幾個節(jié)點以非GUI模式向服務器施壓

    官方推薦 :http://jakarta.apache.org/jmeter/usermanual/best-practices.html#lean_mean

29、項目實戰(zhàn)之Jmeter壓測生成多維度圖形化HTML測試報告
    簡介:
        把Jmtere壓測結(jié)果轉(zhuǎn)換為Html

        指令
        jmeter -n -t /usr/local/software/jmeter/temp/linux_users_api.jmx -l /usr/local/software/jmeter/temp/jtl/result.jtl -e -o /usr/local/software/jmeter/temp/result


30硫兰、Jmeter圖形化HTML壓測報告dashboard講解
    簡介:
        講解壓測報告 html里面Dashboard的核心指標
        1诅愚、dashboard講解
            1)Test and Report informations
                Source file:jtl文件名
                Start Time :壓測開始時間
                End Time :壓測結(jié)束時間
                Filter for display:過濾器
                Lable:sampler采樣器名稱  

            2)APDEX(Application performance Index)
                apdex:應用程序性能指標,范圍在0~1之間,1表示達到所有用戶均滿意
                T(Toleration threshold):可接受閥值
                F(Frustration threshold):失敗閥值

            3)Requests Summary
                OK:成功率
                KO:失敗率
            4)Statistics 統(tǒng)計數(shù)據(jù)
                lable:sampler采樣器名稱

                samples:請求總數(shù)劫映,并發(fā)數(shù)*循環(huán)次數(shù)
                KO:失敗次數(shù)
                Error%:失敗率

                Average:平均響應時間
                Min:最小響應時間
                Max:最大響應時間
                90th pct: 90%的用戶響應時間不會超過這個值(關(guān)注這個就可以了)
                2ms,3ms,4,5,2,6,8,3,9

                95th pct: 95%的用戶響應時間不會超過這個值
                99th pct: 99%的用戶響應時間不會超過這個值 (存在極端值)
                throughtput:Request per Second吞吐量 qps

                received:每秒從服務器接收的數(shù)據(jù)量
                send:每秒發(fā)送的數(shù)據(jù)量


31违孝、Jmeter圖形化HTML壓測報告Charts報表講解
    簡介:
        講解壓測報告 html里面Charts的核心指標
        1、charts講解
            1)Over Time(隨著時間的變化)
                Response Times Over Time:響應時間變化趨勢
                Response Time Percentiles Over Time (successful responses):最大泳赋,最小雌桑,平均,用戶響應時間分布
                Active Threads Over Time:并發(fā)用戶數(shù)趨勢
                Bytes Throughput Over Time:每秒接收和請求字節(jié)數(shù)變化祖今,藍色表示發(fā)送校坑,黃色表示接受
                Latencies Over Time:平均響應延時趨勢
                Connect Time Over Time  :連接耗時趨勢

            1)Throughput
                Hits Per Second (excluding embedded resources):每秒點擊次數(shù)
                Codes Per Second (excluding embedded resources):每秒狀態(tài)碼數(shù)量
                Transactions Per Second:即TPS,每秒事務數(shù)
                Response Time Vs Request:響應時間和請求數(shù)對比
                Latency Vs Request:延遲時間和請求數(shù)對比

            1)Response Times
                Response Time Percentiles:響應時間百分比
                Response Time Overview:響應時間概述
                Time Vs Threads:活躍線程數(shù)和響應時間
                Response Time Distribution:響應時間分布圖

章節(jié)九 高級篇之多節(jié)點JMeter分布式壓測實戰(zhàn)


32千诬、Jmeter4.0分布式壓測準備工作

    簡介:講解Linux服務器上jmeter進行分布式壓測的相關(guān)準備工作

        1耍目、壓測注意事項
            the firewalls on the systems are turned off or correct ports are opened.
            系統(tǒng)上的防火墻被關(guān)閉或正確的端口被打開。

            all the clients are on the same subnet.
            所有的客戶端都在同一個子網(wǎng)上徐绑。

            the server is in the same subnet, if 192.x.x.x or 10.x.x.x IP addresses are used. If the server doesn't use 192.xx or 10.xx IP address, there shouldn't be any problems.
            如果使用192.x.x.x或10.x.x.x IP地址邪驮,則服務器位于同一子網(wǎng)中。 如果服務器不使用192.xx或10.xx IP地址傲茄,則不應該有任何問題毅访。

            Make sure JMeter can access the server.
            確保JMeter可以訪問服務器。

            Make sure you use the same version of JMeter and Java on all the systems. Mixing versions will not work correctly.
            確保在所有系統(tǒng)上使用相同版本的JMeter和Java烫幕。 混合版本將無法正常工作俺抽。

            You have setup SSL for RMI or disabled it.
            您已為RMI設置SSL或?qū)⑵浣谩?
            官網(wǎng)地址 http://jmeter.apache.org/usermanual/jmeter_distributed_testing_step_by_step.html

            壓測注意事項:一定要用內(nèi)網(wǎng)IP,不用用公網(wǎng)IP,用ping去檢查

        2较曼、專業(yè)名字
            master:司令
            slave:奴隸
            target:目標


            地址:http://jmeter.apache.org/images/screenshots/distributed-names.svg
            地址:http://jmeter.apache.org/images/screenshots/distributed-jmeter.svg


    遠程拷貝(內(nèi)網(wǎng)地址):
        scp -r /usr/local/software/jdk-8u141-linux-x64.tar.gz root@172.18.230.233:/usr/local/software
        scp -r /usr/local/software/jmeter/apache-jmeter-4.0.tgz root@172.18.230.233:/usr/local/software/jmeter

    啟動 
        ./jmeter-server 或者    nohup ./jmeter-server &
    

    檢查啟動是否成功
        ps -ef|grep jmeter-server
        ps aux|grep jmeter-server

        






33、阿里云jmeter壓測常見問題處理
    簡介:講解阿里云上安裝jmeter常見問題的處理振愿,安裝遇到的問題等等
(備注:內(nèi)容較多捷犹,放在筆記最下方)

34弛饭、Jmeter4.0分布式壓測實戰(zhàn)
    簡介:Jmeter分布式壓測實戰(zhàn),壓測接口
        
        1萍歉、關(guān)注CPU和內(nèi)存使用

        本地非GUI分布式壓測 -r 
        jmeter -n -t /Users/jack/Desktop/remote.jmx -r -l /Users/jack/Desktop/jtl/result.jtl -e -o /Users/jack/Desktop/result

            壓測結(jié)果
            ./jmeter -n -t /Users/jack/Desktop/remote.jmx -r -l /Users/jack/Desktop/jtl/result.jtl -e -o /Users/jack/Desktop/result
            
            Creating summariser <summary>
            Created the tree successfully using /Users/jack/Desktop/remote.jmx
            Configuring remote engine: 172.20.10.3:8899
            Using local port: 8899
            Configuring remote engine: 172.20.10.11:8899
            Starting remote engines
            Starting the test @ Thu Mar 29 23:21:13 CST 2018 (1522336873931)
            Remote engines have been started
            Waiting for possible Shutdown/StopTestNow/Heapdump message on port 4445
            summary =      4 in 00:00:22 =    0.2/s Avg:  5582 Min:    94 Max: 21006 Err:     1 (25.00%)
            Tidying up remote @ Thu Mar 29 23:21:36 CST 2018 (1522336896842)
            ... end of run



        2侣颂、壓測修改master節(jié)點信息
            jemeter.properties 值是slave機器的ip+端口號,如果有多個枪孩,用逗號分隔
                remote_hosts=192.168.0.102:8899,192.168.0.101:8899
                server.rmi.ssl.disable=true (前面有說到)


        3憔晒、啟動slave機器,注意要同個網(wǎng)段蔑舞,ip地址用內(nèi)網(wǎng)ip
            ./jmeter-server
            Using local port: 8899
            Created remote object: UnicastServerRef2 [liveRef: [endpoint:[192.168.0.102:8899](local),objID:[3a585a4d:162724586ab:-7fff, 3963132813614033916]]]


        相關(guān)資料:
            https://www.cnblogs.com/Fine-Chan/p/6233823.html
            https://blog.csdn.net/liujingqiu/article/details/52635289
            https://www.cnblogs.com/puresoul/p/4844539.html


章節(jié)十 高級篇之Jmeter壓測課程總結(jié)和架構(gòu)淺析


35拒担、課程總結(jié)和關(guān)于系統(tǒng)架構(gòu),推薦學習資料
    簡介:講解測試人員的基礎技能攻询,系統(tǒng)架構(gòu)知識从撼,相關(guān)推薦書籍,課程總結(jié)等

    配置元件=》前置處理器=》定時器=》采樣器=》后置處理器=》斷言=》監(jiān)聽器


安裝常見問題
1钧栖、問題
    [root@iZwz95j86y235aroi85ht0Z bin]# ./jmeter-server
    Created remote object: UnicastServerRef2 [liveRef: [endpoint:[:39308](local),objID:[24e78a63:16243c70661:-7fff, 7492480871343944173]]]
    Server failed to start: java.rmi.RemoteException: Cannot start. Unable to get local host IP address.; nested exception is:
    java.net.UnknownHostException: iZwz95j86y235aroi85ht0Z: iZwz95j86y235aroi85ht0Z: Name or service not known
    An error occurred: Cannot start. Unable to get local host IP address.; nested exception is:
    java.net.UnknownHostException: iZwz95j86y235aroi85ht0Z: iZwz95j86y235aroi85ht0Z: Name or service not known

    解決:
        hostname  命令獲取機器名稱低零,追加一個映射  iZwz95j86y235aroi85ht0Z
        vim /etc/hosts
            127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
            ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
            120.79.160.143 iZwz95j86y235aroi85ht0Z

        windows用戶 修改c:\windows\system32\drivers\etc\hosts文件,增加一條域名 與IP的映射

2拯杠、問題
    [root@iZwz95j86y235aroi85ht0Z bin]# ./jmeter-server
    Server failed to start: java.rmi.server.ExportException: Listen failed on port: 0; nested exception is:
    java.io.FileNotFoundException: rmi_keystore.jks (No such file or directory)
    An error occurred: Listen failed on port: 0; nested exception is:
    java.io.FileNotFoundException: rmi_keystore.jks (No such file or directory)
   解決:
        擁有RMI over SSL的有效密鑰庫掏婶,或者禁用了SSL。
        1潭陪、禁用SSL
            jmeter.property里面 server.rmi.ssl.disable 改為 true雄妥,表示禁用

3、問題:
            [root@iZ949uw2xehZ bin]# ./jmeter
        Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000c0000000, 1073741824, 0) failed; error='Cannot allocate memory' (errno=12)
        #
        # There is insufficient memory for the Java Runtime Environment to continue.
        # Native memory allocation (mmap) failed to map 1073741824 bytes for committing reserved memory.
        # An error report file with more information is saved as:
        # /usr/local/jmeter/apache-jmeter-4.0/bin/hs_err_pid5855.log

    解決:
        編輯jmeter
        搜索 : "${HEAP:="-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m"}"
        改變初始堆內(nèi)存和最大堆內(nèi)存


4畔咧、僅修改 server_port 即可,下面兩者一樣
    server.rmi.localport=8899 表示slave server啟動顯示的端口
    server_port=8899  表示master機器要遠程連接的端口   即 remote_hosts=xxxx:8899


5茎芭、
    <!-- jmeter 分布式性能測試(多網(wǎng)卡配置) -->
    我們要在多網(wǎng)卡的服務器上開啟RMI服務的話必須指定IP,使他們能夠在同一個網(wǎng)段內(nèi)誓沸。 

    需要以下幾步(假定所有機器都在10.120.11.*網(wǎng)段,agent服務器為linux,controller服務器為windows):

    1梅桩、 修改agent服務器,指定agent機器的IP
    修改jmeter-server文件
    # vi jmeter-server
    修改RMI_HOST_DEF=-Djava.rmi.server.hostname=xxx.xxx.xxx.xxx(需要連接的IP)

    2拜隧、修改server服務器宿百,指定server機器的IP

    修改jmeter.bat文件 

    新增set rmi_host=-Djava.rmi.server.hostname=10.120.11.214

    修改set ARGS=%DUMP% %HEAP% %NEW% %SURVIVOR% %TENURING% %PERM% %DDRAW% %rmi_host%


6、確定在controller機器上安裝jdk,版本和jmeter一致洪添,配置環(huán)境變量:Java_home等
   在Agent機器上安裝jdk垦页,配置環(huán)境變量:Java_home和JMeter_home
   安裝目錄不要帶空格,最好都是簡短的英文路徑


7干奢、master機器啟動后會拷貝jmx文件到slave機器痊焊,所以不需要在每臺slave機器上也上傳一份jmx,只需要在master機器上上傳一份jmx腳本即可。

    如果使用csv進行參數(shù)化薄啥,則需要把參數(shù)文件在每臺slave上拷一份且路徑需要設置成一樣的辕羽。

    總樣本數(shù) = 線程數(shù) * 循環(huán)次數(shù) * 執(zhí)行機總數(shù)


8、連接失敗原因排查
    以下步驟進行排查:
        1. jmeter-server是否啟動垄惧;
        2. 是否聯(lián)網(wǎng)
        3. ping 服務器IP是否暢通.
        4. telnet 端口 192.168.3.10 1099
        5. 檢查服務器的防火墻是否關(guān)閉刁愿。
        6. 阿里云安全策略是否正常

9、"could not find ApacheJmeter_core.jar"
    解決:在Agent機器安裝jdk到逊,并設置環(huán)境變量


10铣口、”Bad call to remote host"
    解決:檢查被控制機器上的jmeter-server有沒有啟動,或者remote_hosts的配置是否正確觉壶。

更多學習資料可參考:https://www.xdclass.net/#/coursecatalogue?video_id=3

https://ke.qq.com/course/287785

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末脑题,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子掰曾,更是在濱河造成了極大的恐慌旭蠕,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,284評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件旷坦,死亡現(xiàn)場離奇詭異掏熬,居然都是意外死亡,警方通過查閱死者的電腦和手機秒梅,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評論 3 395
  • 文/潘曉璐 我一進店門旗芬,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人捆蜀,你說我怎么就攤上這事疮丛。” “怎么了辆它?”我有些...
    開封第一講書人閱讀 164,614評論 0 354
  • 文/不壞的土叔 我叫張陵誊薄,是天一觀的道長。 經(jīng)常有香客問我锰茉,道長呢蔫,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,671評論 1 293
  • 正文 為了忘掉前任飒筑,我火速辦了婚禮片吊,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘协屡。我一直安慰自己俏脊,他們只是感情好,可當我...
    茶點故事閱讀 67,699評論 6 392
  • 文/花漫 我一把揭開白布肤晓。 她就那樣靜靜地躺著爷贫,像睡著了一般认然。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上沸久,一...
    開封第一講書人閱讀 51,562評論 1 305
  • 那天季眷,我揣著相機與錄音余蟹,去河邊找鬼卷胯。 笑死,一個胖子當著我的面吹牛威酒,可吹牛的內(nèi)容都是我干的窑睁。 我是一名探鬼主播,決...
    沈念sama閱讀 40,309評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼葵孤,長吁一口氣:“原來是場噩夢啊……” “哼担钮!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起尤仍,我...
    開封第一講書人閱讀 39,223評論 0 276
  • 序言:老撾萬榮一對情侶失蹤箫津,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后宰啦,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體苏遥,經(jīng)...
    沈念sama閱讀 45,668評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,859評論 3 336
  • 正文 我和宋清朗相戀三年赡模,在試婚紗的時候發(fā)現(xiàn)自己被綠了田炭。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,981評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡漓柑,死狀恐怖教硫,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情辆布,我是刑警寧澤瞬矩,帶...
    沈念sama閱讀 35,705評論 5 347
  • 正文 年R本政府宣布,位于F島的核電站锋玲,受9級特大地震影響景用,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜嫩絮,卻給世界環(huán)境...
    茶點故事閱讀 41,310評論 3 330
  • 文/蒙蒙 一丛肢、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧剿干,春花似錦蜂怎、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,904評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春幽歼,著一層夾襖步出監(jiān)牢的瞬間朵锣,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,023評論 1 270
  • 我被黑心中介騙來泰國打工甸私, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留诚些,地道東北人。 一個月前我還...
    沈念sama閱讀 48,146評論 3 370
  • 正文 我出身青樓皇型,卻偏偏與公主長得像诬烹,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子弃鸦,可洞房花燭夜當晚...
    茶點故事閱讀 44,933評論 2 355

推薦閱讀更多精彩內(nèi)容