性能工具之nGrinder分散式簡單環境搭建介紹
- 2019 年 11 月 3 日
- 筆記
背景
nGrinder是一款分散式高並發開源壓測軟體,它是基於Grinder開源框架基礎上由NHN公司所做的二次開發。nGrinder工具主要分由controller、agent、monitor三部分組成,其中controller(包含web管理後台)負責管理和控制測試流程、下發測試任務以及查看測試報告,agent負責啟動壓測進程&執行緒,壓測目標伺服器,monitor來監控目標伺服器&被壓測站點各項性能指標。 nGrinder的主體部分由controller和連接它的多個agent組成,用戶可以通過web管理介面來創建壓測腳本和測試任務,查看測試報告。controller會把壓測腳本和壓測數據分發到一個或多個agent去執行。用戶通過在壓測任務中配置多個進程和執行緒來並發的執行該腳本,依託執行緒內重複執行壓測腳本下發請求到目標伺服器,模擬多用戶(vuser)並發壓測站點的目的。
環境部署
Linux環境部署
配置jdk環境變數參考:
vi /etc/profile 向文件裡面追加以下內容: JAVA_HOME=/usr/java/j1.8.0_211 JRE_HOME=/usr/java/1.8.0_211/jre PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin CLASSPATH=:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib export JAVA_HOME JRE_HOME PATH CLASSPATH ESC 退出編輯模式 :wq 保存退出 source /etc/profile 立即生效
檢查:java -version
java version "1.8.0_211" Java(TM) SE Runtime Environment (build 1.8.0_211-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.211-b12, mixed mode)
查看防火牆
參考命令:
1、查看firewall服務狀態 systemctl status firewalld 出現Active: active (running)切高亮顯示則表示是啟動狀態。 出現 Active: inactive (dead)灰色表示停止,看單詞也行。 2、查看firewall的狀態 firewall-cmd --state 3、開啟、重啟、關閉、firewalld.service服務 # 開啟 service firewalld start # 重啟 service firewalld restart # 關閉 service firewalld stop 4、查看防火牆規則 firewall-cmd --list-all 5、查詢、開放、關閉埠 # 查詢埠是否開放 firewall-cmd --query-port=8080/tcp # 開放80埠 firewall-cmd --permanent --add-port=80/tcp # 移除埠 firewall-cmd --permanent --remove-port=8080/tcp #重啟防火牆(修改配置後要重啟防火牆) firewall-cmd --reload # 參數解釋 1、firwall-cmd:是Linux提供的操作firewall的一個工具; 2、--permanent:表示設置為持久; 3、--add-port:標識添加的埠;
檢查顯示為:

部署tomcat
略
上傳ngrinder.war並且進行驗證

驗證是否啟動成功

使用admin/admin登錄:

下載Agent

選擇

下載agnet到本機
上傳agent包
安裝上傳文件命令:
yum install -y lrzsz

怎麼上傳你懂的,不用教了
修改配置win的agent配置為

修改linux環境中agent配置

啟動linu/win中的agent

登錄控制台驗證

點擊代理管理

驗證

以上是簡單分散式環境部署
應該還有很多細節需要自己去調試與修改。
分享一個經典冒泡演算法
>>> arr = [1,21,3,232,12,8] >>> for i in range(len(arr)-1): ... for j in range(len(arr) - i-1): ... if arr[j] > arr[j +1 ]: ... arr[j],arr[j+1]=arr[j+1],arr[j] ... >>> print(arr) [1, 3, 8, 12, 21, 232] >>> ''' 演算法分析: 第一次找到最大值放到最後面 第二次去掉最大值再找到最大值放到最後面 。。。。以此類推 '''