100億MongoDB瓦片出圖 效能測試報告
測試報告word版下載:http://pan.baidu.com/s/1o8SI8Y2
1. 測試目的
本測試報告是LINUX平臺上,SuperMap iServer 9D對放於不同的MongoDB伺服器上的100億張MongoDB瓦片釋出為地圖服務後的出圖測試,來驗證MongoDB瓦片在不同MongoDB伺服器出圖的效能。
2. 術語/縮略語定義
- TPS(TransactionPer Second): 每秒鐘系統能夠處理的交易或事務的數量。它是衡量系統處理能力的重要指標。
- 吞吐量:指在一次效能測試過程中網路上傳輸的資料量的總和。
- 吞吐率(Throughput):吞吐量/傳輸時間,指定單位時間內處理的客戶端請求數量。
- 點選率(HitPer Second):每秒鐘使用者向 Web 伺服器提交的HTTP 請求數。
- 事務:使用者的一個或一系列操作,代表一定的功能。
3. 測試環境和測試資料
3.1 測試環境
裝置 |
硬體配置 |
軟體配置 |
iServer服務 112.204 |
記憶體32G、64bit |
Ubuntu 4.8.4-2ubuntu1~14.04.3 SuperMap iServer 版本: supermap_iserver_900_15021_3019_linux64_deploy |
MongoDB單節點 12.103 |
Intel(R)Xeon(R) CPU E5-264 0 v3 @ 2.60GHz 記憶體 96G、64bit |
CentOS release 6.5 (Final) MongoDB3.2.6 |
MongoDB單節點 12.201 |
Intel(R)Xeon(R) CPU E5-264 0 v3 @ 2.60GHz 記憶體 32G、64bit |
ubuntu1404 MongoDB3.2.6 |
MongoDB服務3 MongoDB分片叢集 192.168.12.201、 192.168.12.202、 192.168.12.203、 192.168.12.205 |
CPU: Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz 記憶體:32G 網絡卡:千兆網絡卡 硬碟:128G固態盤以及一個3T的硬碟 |
ubuntu1404 MongoDB3.4.2(x64) 連線叢集方式: 192.168.12.203:30000 |
緊湊快取檔案ugcv5 12.103 |
Intel(R)Xeon(R) CPU E5-264 0 v3 @ 2.60GHz 記憶體 96G、64bit |
湊快取檔案個數:684891 個cf檔案 ; 緊湊快取大小:1.1T (1126500M) |
負載機 |
Intel(R)Core(TM) i7-4790K CPU 記憶體 32G、64bit |
Win7 HP LoadRunne11 |
3.1.2 MongoDB分片集架構圖
Route節點部署在203上
Config節點部署在201、202、203叢集上
Shard一共有四個分片分別部署在201、202、203、2053.2 測試資料
資料 |
資料描述 |
備註 |
MongoDB瓦片 |
地圖名:china 切片型別:地圖瓦片 |
100億張 |
3.3 測試場景
3.3.1 場景簡介(以下場景是根據100億MongoDB瓦片存放位置不同區分的)
場景NO. |
業務名稱 |
測試場景 |
備註 |
場景一 |
96G記憶體+MongoDB單節點 |
100 、500、1000個使用者測試分別執行持續 5分鐘 |
|
場景二 |
32G記憶體+MongoDB單節點 |
100 個使用者測試分別執行持續 5分鐘 |
|
場景三 |
32G記憶體+MongoDB分片集 |
100 、500、1000個使用者測試執行持續 5分鐘 |
|
場景四 |
緊湊快取檔案 |
100 個使用者測試分別執行持續 5分鐘 |
3.3.2 詳細介紹
測試URL | 測試場景 |
場景一:MongoDB出圖(96G記憶體,MongoDB單節點) | |
http://192.168.12.204:8090/iserver/services/map-mongodb1/rest/maps/china/tileImage.jpg?tileversion=33d659af-f3d1-4d7f-8a6b-b8843b15c789&transparent=false&cacheEnabled=true&width=256&height=256&x={X}&y={Y}&scale={scale}&redirect=false&overlapDisplayed=false |
scale:0.000110767、0.000221533、0.000443066、0.000886132 {indexX}:[0, 11184] {indexY}:[0, 11296] |
備註: iServer單程序 100億MongoDB瓦片位置:12.103 (96G) 場景:100 、500、1000個使用者測試分別執行持續 5分鐘 |
|
場景二:MongoDB出圖(32G記憶體,MongoDB單節點) | |
http://192.168.12.204:8090/iserver/services/map-mongodb/rest/maps/china/tileImage.jpg?tileversion=33d659af-f3d1-4d7f-8a6b-b8843b15c789&transparent=false&cacheEnabled=true&width=256&height=256&x={X}&y={Y}&scale={scale}&redirect=false&overlapDisplayed=false |
scale:0.000110767、0.000221533、0.000443066、0.000886132 {indexX}:[0, 11184] {indexY}:[0, 11296] |
備註:
iServer單程序 100億MongoDB瓦片位置:12.201 (32G) 場景:100 、個使用者測試執行持續 5分鐘 |
|
場景三:MongoDB出圖(32G記憶體,mongoDB分片集) | |
備註: iServer單程序 100億Mongodb瓦片位置:12.203 (32G,Mongod分片) 場景:100 、500、1000個使用者測試執行持續 5分鐘 |
|
場景四:緊湊快取檔案ugcv5 |
|
http://192.168.12.103:8090/iserver/services/map-ugcv5-china2014L120compact/rest/maps/china.ijs?tileversion=33d659af-f3d1-4d7f-8a6b-b8843b15c789&transparent=false&cacheEnabled=true&width=256&height=256&x={X}&y={Y}&scale={scale}&redirect=false&overlapDisplayed=false | scale:0.000110767、0.000221533、0.000443066、0.000886132 { ndex}:[0, 11184] {indexY}:[0, 11296] |
備註: iServer單程序 100億Mongodb瓦片位置:12.103緊湊快取檔案 場景:100 、個使用者測試執行持續 5分鐘 |
4 測試結果
4.1 Workload Summary
4.2平均響應時間柱狀統計圖
1)100億MongoDB瓦片放於不同位置時出圖效能對比測試結果
2)100億MongoDB瓦片不同併發數出圖效能對比測試結果
(96G記憶體單節點MongoDB伺服器和32G記憶體的MongoDB分片集)
5結論和建議
由於100億MongoDB瓦片放於32G記憶體的電腦時,100個使用者併發時,效能不理想,所以沒有測試更多的併發數的效能。1.從4.2.1中可以得到以下結論:
1)100個使用者併發時,100億MongoDB瓦片儲存在96G記憶體MongoDB單節點上的平均響應時間為0.909s,是儲存在32G記憶體單節點MongoDB上的出圖效能(平均響應時間2.042s)的2.25倍,說明MongoDB瓦片所在電腦的記憶體越大,出圖效能越好。
2)100個使用者併發時,100億MongoDB瓦片儲存在32G記憶體MongoDB分片集中的平均響應時間為0.956s,是儲存在32G記憶體單節點MongoDB上的出圖效能(平均響應時間2.042s)的2.13倍,說明100億MongoDB瓦片儲存在MongoDB分片集中比儲存於MongoDB單節點中,出圖效能好。
3)100個使用者併發時,100億MongoDB瓦片儲存在緊湊快取檔案的平均響應時間為1.408s,比儲存在32G記憶體單節點MongoDB分片集上的出圖效能(平均響應時間0.956s)慢了147.3%,說明MongoDB的效能優於緊湊檔案。
2.從4.2.2中可以得到以下結論:
1)1000個使用者併發時,100億Mongodb瓦片儲存於96G記憶體單節點MongoDB時,平均能響應時間為2.911s,是儲存於32G記憶體MongoDB分片集中的出圖效能(平均響應時間4.546s)的1.56倍。如需提高MongoDB瓦片出圖效能,建議增大MongoDB瓦片所在電腦的記憶體。