1、無線定位伺服器測試報告
2、測試過程是通過top和iftop檢視收集資料
3、測試伺服器效能,合理利用伺服器資源,在保證服務高可用、高效能下,最大化利用伺服器資源
工具/原料
centos、ubuntu
python、top、iftop、MongoDB
一、 測試環境部署、介紹
1、 四臺伺服器作為客戶端:兩臺centos6.5,雙核CPU,4G記憶體;兩臺ubuntu15.04系統,四核CPU,8G記憶體。一臺伺服器:Ubuntu15.04的系統,四核CPU,8G記憶體。
2、 伺服器與客戶端IP分配
伺服器:192.168.119.68/24
客戶端:192.168.119.220、1923.168.119.221、192.168.119.222、192.168.119.223
3、 服務端服務安裝部署PymongoDB、zabbix監控部署
4、 指令碼部署
服務端指令碼:positionentryserver.py、positionserver.py
客戶端端指令碼:positionclient.py、./apsimulation.sh
5、 監控工具nethogs、iftop、top
6、安裝過程見無線定位服務環境搭建與實施,可以參考我的另一篇經驗
0 模擬手機無線定位、壓力測試
二、 測試目的
1、 測試1000AP、2000AP、3000AP、4000AP、5000AP同時訪問伺服器,CPU是否穩定、網絡卡進站和出戰的寬頻、記憶體、磁碟的使用情況;
2、 伺服器壓力測試,確保伺服器資料不丟失,降低丟包率;
3、 測試伺服器效能,合理利用伺服器資源,在保證服務高可用、高效能下,最大化利用伺服器資源;
4、 完成測試,確保方案正常、高效實施過程。
三、 測試內容
1、 服務端和客戶端壓力測試;
2、 測試伺服器網絡卡、CPU、磁碟的使用情況
3、 無線定位資料傳輸流程示意圖;
四、 測試方法、步驟
1、 指令碼配置檔案修改,設定埠和IP
(1)服務端指令碼
positionentryserver.py #入口伺服器指令碼,這是入口位置伺服器,它接收AP探測包,傳送到後端伺服器進行處理(圖一)
positionglobal.py #總的指令碼,拆包、解包資料封裝
positionserver.py #埠UDP伺服器驗證,它與AC完成所有門戶UDP資料包處理(圖二)
(2)客戶端指令碼
apsimulation.sh #迴圈指令碼,通過需改AP臺數,模擬多臺AP(圖三)
positionclient.py #模擬一臺AP
2、 指令碼執行
(1) 服務端指令碼執行(圖一)
python positionentryserver.py &
python positionserver.py 9999 &
python positionserver.py 9998 &
(2) 客戶端指令碼實現
python positionclient.py 192.168.119.68 9000 1
執行指令碼模擬一臺AP,入口伺服器埠900,1秒傳送一次資料(圖二)
nohup ./apsimulation.sh &
後臺執行程式碼,呼叫python指令碼,模擬多臺AP,可以修改指令碼設定模擬AP的數量(圖三)
五、 模擬AP測試
1、 模擬1000AP,服務端CPU、記憶體、
top 檢視伺服器CPU、記憶體、等基本資訊(圖一)
iftop -n 檢視流量進站和出站(圖二)
2、模擬2000AP
top 檢視伺服器CPU、記憶體、等基本資訊(圖一)
iftop -n 檢視流量進站和出站(圖二)
3、模擬3000AP
top 檢視伺服器CPU、記憶體、等基本資訊(圖一)
iftop -n 檢視流量進站和出站(圖二)
4、模擬4000AP
top 檢視伺服器CPU、記憶體、等基本資訊
iftop -n 檢視流量進站和出站
5、模擬5000AP
top 檢視伺服器CPU、記憶體、等基本資訊
iftop -n 檢視流量進站和出站
五、 測試結果
1、 伺服器接收模擬資料5000個AP,對CPU、磁碟壓力不大、可以根據實際需求增加模擬AP的數量
2、 客戶端測試
(1)雙核CPU、4G記憶體,模擬AP數量500為最佳,繼續增加IP數量會出現丟包現象
(2)4核CPU、8G記憶體,模擬AP數量做好不要超過2000臺,繼續增加AP的數量會有資料丟失。
3、測試5000臺AP,伺服器執行24小時CPU idle穩定為69.5%,磁碟佔用5G左右
4、根據測試結果製作表格如下
注意事項
我這裡是用top和iftop監控資料,大家可以根據自己情況選擇監控工具,來監控。如zabbix、nagios等