案例訓練目標 |
|
包含技能點 |
|
環境要求 |
PC支持VT,4G內存以上;vmware虛擬機安裝有centos7和win7 |
案例子任務一、配置實驗環境
步驟1:在centos7虛擬機啟用docker容器,配置測試對象
- #docker network ls //查看宿主機上的docker網絡類型種類,
- 啟動容器APP1,設定地址為172.18.0.111,
docker run -d --privileged --net cluster --ip 172.18.0.111 --name APP1 php-apache /usr/sbin/init
-
配置容器APP1,編輯phpinfo.php文件;
- 啟動容器nginx1,設定地址為172.18.0.11,
docker run -d --privileged --net cluster --ip 172.18.0.11 -p 80:80 --name nginx1 nginx /usr/sbin/init
-
配置容器nginx1,設置反向代理
location / {
proxy_pass http://172.18.0.111;
}
-
在主機瀏覽器訪問centos7地址,能夠訪問到APP1的phpinfo頁面,
步驟2:在win7虛擬機安裝jdk和jmeter,配置測試環境
-
下載jdk_8.0.1310.11_64.exe到win7虛擬機
-
安裝jdk_8.0,設置環境變量
設置3項屬性JAVA_HOME,PATH,CLASSPATH(大小寫無所謂),若已存在則點擊"編輯",不存在則點擊"新建"。JAVA_HOME指明JDK安裝路徑,Path項下添加:;%JAVA_HOME%\bin; %JAVA_HOME%\jre\bin,注意用分號隔開,在CLASSPATH添加:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
-
打開命令行窗口, java -version 檢查java環境 ,
-
下載解壓運行jmeter,選擇語言為簡體中文 ,
案例子任務二、使用jmeter進行壓力測試
步驟1:建立測試計划進行壓力測試
-
編輯測試計划名稱,創建並配置線程組 ,
-
創建配置http請求 ,
-
添加運行結果監聽器 ,
-
運行測試計划,查看測試結果 ,
步驟2:錄制測試腳本進行壓力測試
-
編輯測試計划名稱,創建並配置線程組 ,
-
添加運行結果監聽器 ,
-
添加HTTP代理服務器並設置參數 ,
-
在線程組下查看http請求 ,
-
啟動線程組進行測試並查看結果 ,
案例子任務三、使用ab進行壓力測試
[root@localhost ~]#ab -c 1000 -n 10000 http://192.168.152.11/index.html
Document Path: /index.html.zh-cn.gb2312
//測試的頁面文檔
Document Length: 1018 bytes
//文檔大小
Concurrency Level: 1000
//並發數
Time taken for tests: 8.188731 seconds
//整個測試持續的時間
Complete requests: 1000
//完成的請求數量
Failed requests: 0
//失敗的請求數量
Write errors: 0
Total transferred: 1361581 bytes
//整個場景中的網絡傳輸量
HTML transferred: 1055666 bytes
//整個場景中的HTML內容傳輸量
Requests per second: 122.12 [#/sec] (mean)
//大家最關心的指標之一,相當於 LR 中的每秒事務數,后面括號中的 mean 表示這是一個平均值
Time per request: 8188.731 [ms] (mean)
//大家最關心的指標之二,相當於 LR 中的平均事務響應時間,后面括號中的 mean 表示這是一個平均值
Time per request: 8.189 [ms] (mean, across all concurrent requests)
//每個請求實際運行時間的平均值
Transfer rate: 162.30 [Kbytes/sec] received
//平均每秒網絡上的流量,可以幫助排除是否存在網絡流量過大導致響應時間延長的問題
案例子任務四、優化nginx連接數
步驟1:修改linux打開的文件數
-
查看linux系統限制
-
修改linux打開文件數限制
步驟2:調整nginx連接數
-
[root@localhost ~]# ab -c 3000 -n 10000 http://192.168.1.11/index.html
-
查看nginx連接數
- 修改nginx連接數
在主
-
[root@localhost ~]# ab -c 3000 -n 10000 http://192.168.152.11/index.html,截圖
ulimit -n 65535