本文僅適用於歷史非維運平台部署的FineBI6.0.x工程。
維運平台部署的FineBI6.1工程,請參考維運平台說明文檔:維運平台
1. 概述
為了滿足企業高可用和高併發的業務需求,帆軟支援單機和叢集部署方式。
並可以根據具體的業務負載情況,推薦對應的部署架構,以保證業務的正常穩定運作。
本文根據使用者併發數和伺服器資源,推薦不同的最佳部署方案。
部署方案說明:
1)本文所列出的部署方案,均為工程和組件獨佔伺服器時的配置要求(即該伺服器中不再安裝其他內容)。
帆軟單機架構為「工程節點+配置庫(外接finedb)」
帆軟直連/抽取叢集架構為「工程節點+負載均衡+狀態伺服器+檔案伺服器+配置庫(外接finedb)」,架構中各個應用組件,需要針對不同場景進行選擇和搭配。
在實際部署時,可任意選擇技術路線支援範圍內的軟硬體環境。
2)考慮到部分使用者的伺服器資源緊張。
對於工程節點部署方案,本文分別提供推薦配置和最低配置要求。如資源充足,使用推薦配置;如資源緊張,必須至少滿足最低配置。
對於叢集部署方案,本文分別提供高可用和非高可用部署方案。如資源充足,推薦使用高可用部署方案;如資源緊張,可考慮非高可用部署方案。
3)單機工程,無法避免會出現小概率故障時的不可用情況,如需保障高可用建議優先選擇叢集架構部署。
系統效能說明:
1)工程節點數:
叢集場景下,隨着節點數增加,系統能處理的併發數也增加,範本的平均回应時間相近。
雙節點叢集的併發數為單機的兩倍、三節點叢集的併發數為單機的三倍。
2)範本效能:
單機場景下,JVM 記憶體增加,範本的回应時間減少。
叢集場景下,各個節點的併發數相近時,範本的平均回应時間相近。
平台鑑權預覽的方式比不走平台鑑權預覽的方式效能差,因為不同使用者之間不能共享同一結果快取。
2. 工程伺服器環境
2.1 伺服器通用要求
配置項 | 推薦配置 | ||||||||
---|---|---|---|---|---|---|---|---|---|
伺服器類型 | Linux 伺服器 | ||||||||
系統版本 | Ubuntu 18.04.4 及以上 | ||||||||
系統核心 | 3.10 及以上 | ||||||||
系統架構 | X86_64 | ||||||||
可用磁碟空間 | 根據資料量設定每個節點所在伺服器可用磁碟空間 其中根目錄可用磁碟不可小於40G 資料量為0~500萬列,可用磁碟元件
| ||||||||
中間軟體 | Tomcat8.5.57 及以上版本,推薦使用最新版本 JDK 1.8,8u221 以上,推薦使用最新版本 | ||||||||
磁碟類型 | SSD固態硬碟 FineBI 是 IO 密集型應用,對磁碟 IO 依賴較大,因此推薦使用本地磁碟或固態硬碟 | ||||||||
磁碟讀寫速度 | 100M/S以上 | ||||||||
IOPS吞吐量 | 10K以上 |
2.2 不同節點數配置要求
一個伺服器只能部署叢集的一個工程節點,因此需要幾個工程節點就要準備幾個伺服器。
使用者維度說明:
使用者類型 | 說明 |
---|---|
日活使用者數 | 一日之內,FineBI工程登入的使用者數 |
線上使用者數 | 同一時刻,FineBI工程上登入了的使用者數 |
併發使用者數 | 同一時刻,在FineBI工程上做操作的使用者數 即多少使用者同時對伺服器傳送請求,即伺服器同時處理多少使用者傳送來的請求 |
lic註冊時的併發限制 | 根據 IP 地址進行統計,伺服器從請求中獲取 IP 地址,作為一個併發key 主要限制存取系統的累計 IP 數。Lic 的該參數和下文使用者數無聯動 |
本文以三種場景進行配置推薦。若您的FineBI工程涉及多個場景,選擇其中的最高配置作為推薦配置即可。
使用者需要先參考 直連資料&抽數資料簡介 判斷自己使用的是「實時資料」還是「抽取資料」。
2.2.1 直連資料
場景說明:只使用直連資料,不使用抽取資料
叢集節點間、節點與其他組件間帶寬 1000Mb/s。
根據工程的併發及資料源 DB 的計算能力,落在多個配置區間時選較高的配置;
編輯併發對應快取不命中;
併發使用者數/秒的上限對應快取命中,下限對應快取不命中。
日活使用者數 | 線上使用者數 每小時 | 併發使用者數 每秒 | 編輯 併發數 | 資料源計算能力 每秒處理的計算數 | 推薦配置 | 最低配置 |
---|---|---|---|---|---|---|
500 | <100 | <20 | <20 | <10 | 單機,節點滿足: CPU:8 核 16 執行緒 2.5GHZ JVM 記憶體:16GB 物理記憶體:24G | 單機,節點滿足: CPU:4 核 8 執行緒 2.5GHZ JVM 記憶體:8GB 物理記憶體:12G |
2K | 100~1K | 40~90 | 10~40 | 10~20 | 2節點叢集,每個節點滿足: CPU:16 核 32 執行緒 2.5GHZ JVM 記憶體:16GB 物理記憶體:32G | 單機,節點滿足: CPU:16 核 32 執行緒 2.5GHZ JVM 記憶體:16GB 物理記憶體:24G |
3K | 600~1.5K | 60~130 | 30~60 | ≥30 | 3節點叢集,每個節點滿足: CPU:16 核 32 執行緒 2.5GHZ JVM 記憶體:16GB 物理記憶體:24G | 2節點叢集,每個節點滿足: CPU:16 核 32 執行緒 2.5GHZ JVM 記憶體:24GB 物理記憶體:48G |
4K | 600~2K | 60~170 | 60~80 | ≥30 | 4節點叢集,每個節點滿足: CPU:16 核 32 執行緒 2.5GHZ JVM 記憶體:16GB 物理記憶體:24G | 3節點叢集,每個節點滿足: CPU:16 核 32 執行緒 2.5GHZ JVM 記憶體:24GB 物理記憶體:48G |
2.2.2 抽取資料:高日活自助分析
場景說明:日活使用者較高的FineBI工程,使用者自助分析資料(對應 FineBI 查詢不命中快取)。
節點數概要估算併發:線上使用者數 Y = 300 * (節點數 X-1) + 400 。
磁碟吞吐率和帶寬要求大於 100MB/s(普通本地硬碟 HDD 效能),推薦 SSD固態硬碟。
JVM 記憶體≠整機記憶體,推薦 JVM 記憶體佔整機記憶體的 2/3 ~ 3/4 。
線上使用者數 每小時 | 併發使用者數 每秒 | 編輯 併發數 | 表數量/表大小 | 推薦配置 | 最低配置 |
---|---|---|---|---|---|
<100 | <20 | <20 | <100張/<1T | 單機,節點滿足: CPU:8 核 16 執行緒 2.5GHZ JVM 記憶體:16GB 物理記憶體:32G | 單機,節點滿足: CPU:8 核 16 執行緒 2.5GHZ JVM 記憶體:16GB 物理記憶體:32G |
300~1K | 20~70 | 10~40 | <100張/<1T | 2節點叢集,每個節點滿足: CPU:8 核 16 執行緒 2.5GHZ JVM 記憶體:16GB 物理記憶體:32G | 單機,節點滿足: CPU:16 核 32 執行緒 2.5GHZ JVM 記憶體:32GB 物理記憶體:64G |
600~2K | 40~120 | 30~60 | >2k張/>1T | 2節點叢集,每個節點滿足: CPU:16 核 32 執行緒 2.5GHZ JVM 記憶體:32GB 物理記憶體:64G | 2節點叢集,每個節點滿足: CPU:16 核 32 執行緒 2.5GHZ JVM 記憶體:24GB 物理記憶體:48G |
900~3K | 50~160 | 50~80 | >4k張/>2T | 3節點叢集,每個節點滿足: CPU:16 核 32 執行緒 2.5GHZ JVM 記憶體:32GB 物理記憶體:64G | 2節點叢集,每個節點滿足: CPU:16 核 32 執行緒 2.5GHZ JVM 記憶體:24GB 物理記憶體:48G |
1.2K~3.5K | 60~190 | 70~100 | >5k張/>3T | 4節點叢集,每個節點滿足: CPU:16 核 32 執行緒 2.5GHZ JVM 記憶體:32GB 物理記憶體:64G | 3節點叢集,每個節點滿足: CPU:16 核 32 執行緒 2.5GHZ JVM 記憶體:32GB 物理記憶體:64G |
1.5K~4K | 80~220 | 80~200 | >5k張/>3T | 5節點叢集,每個節點滿足: CPU:16 核 32 執行緒 2.5GHZ JVM 記憶體:32GB 物理記憶體:64G | 4節點叢集,每個節點滿足: CPU:16 核 32 執行緒 2.5GHZ JVM 記憶體:32GB 物理記憶體:64G |
2.2.3 抽取資料:併發查看儀表板
場景:對應使用者併發查看報表等場景。即通常5-10分鐘內累計存取使用者數Y(對應FineBI查詢快取全命中,即多個相同計算請求引擎可以直接命中傳回結果)。
節點數概要估算併發: 5分鐘併發使用者數 Y = 380*節點數X
每秒請求使用者數達到160時,對負載均衡伺服器的下載速度要求較高,需要達到100MB/s。
JVM 記憶體≠整機記憶體,推薦 JVM 記憶體佔整機記憶體的 2/3 ~ 3/4 。
使用者數 每5分鐘 | 使用者數 每秒 | 推薦配置 | 最低配置 |
---|---|---|---|
~400 | 40 | 2節點叢集,每個節點滿足: CPU:8 核 16 執行緒 2.5GHZ JVM 記憶體:16GB 物理記憶體:32G | 單機,節點滿足: CPU:16 核 32 執行緒 2.5GHZ JVM 記憶體:32GB 物理記憶體:64G |
400~800 | 80 | 2節點叢集,每個節點滿足: CPU:16 核 32 執行緒 2.5GHZ JVM 記憶體:32GB 物理記憶體:64G | 2節點叢集,每個節點滿足: CPU:16 核 32 執行緒 2.5GHZ JVM 記憶體:24GB 物理記憶體:48G |
800~1.1K | 110 | 3節點叢集,每個節點滿足: CPU:16 核 32 執行緒 2.5GHZ JVM 記憶體:32GB 物理記憶體:64G | 3節點叢集,每個節點滿足: CPU:16 核 32 執行緒 2.5GHZ JVM 記憶體:24GB 物理記憶體:48G |
1.1K~1.6K | 160 | 4節點叢集,每個節點滿足: CPU:16 核 32 執行緒 2.5GHZ JVM 記憶體:32GB 物理記憶體:64G | 3節點叢集,每個節點滿足: CPU:16 核 32 執行緒 2.5GHZ JVM 記憶體:32GB 物理記憶體:64G |
1.6K~2K | 190 | 5節點叢集,每個節點滿足: CPU:16 核 32 執行緒 2.5GHZ JVM 記憶體:32GB 物理記憶體:64G | 4節點叢集,每個節點滿足: CPU:16 核 32 執行緒 2.5GHZ JVM 記憶體:32GB 物理記憶體:64G |
3. 其他組件伺服器環境
3.1 單機
適用物件:
單機工程
應用伺服器:1節點
finedb配置資料庫:MySQL5
配置參數:
帆軟單機架構為「工程節點+配置庫(外接finedb)」
本節僅介紹單機其他組件的推薦配置,FineBI工程節點伺服器相關配置要求請參考第二章。
配置項 | 推薦配置 |
---|---|
配置資料庫伺服器(finedb) | |
伺服器數量 | 1 如有條件,建議外接配置庫組件部署在獨立伺服器上 如條件不足,可將外接配置庫組件與FineBI工程部署在同一伺服器上 但至少確定該伺服器為FineBI工程和資料庫獨佔,不再部署其他應用 |
作業系統 | Linux 伺服器 系統版本:Ubuntu 18.04.4 及以上 系統核心:3.10 及以上 系統架構:X86_64 |
網路要求 | 1)配置庫和應用工程建議在同一網段,避免網路波動等問題 2)配置庫和應用工程如處於公網環境,帶寬需在10M以上 3)配置庫和應用工程之間需要網路暢通,互相埠可存取 |
資料庫數量 | 1 |
資料庫類型 | MySQL8 資料庫 資料庫版本:MySQL8.0.20以上版本 資料庫驅動:5.1.49 版本(相容MySQL5和8版本) 資料庫字元集:utf8 資料庫排序規則:utf8_bin 資料庫名稱:只允許包含數字、字母、底線和「.」 資料庫權限:create、delete、alter、update、select、insert、index |
CPU | 2.5GHz以上 8核16執行緒 |
物理記憶體 | 8g |
可用磁碟空間 | 200G以上 |
網速 | 100Mbps |
磁碟讀寫速度 | 100MB/s |
3.2 標準直連/標準抽取叢集
適用物件:
標準直連叢集/標準抽取叢集
應用伺服器:不少於2節點
狀態伺服器:Redis單機
檔案伺服器:SFTP
負載均衡:Nginx
配置資料庫:MySQL
配置參數:
帆軟叢集架構為「工程節點+負載均衡+狀態伺服器+檔案伺服器+配置庫(外接finedb)」
本節僅介紹叢集其他組件的推薦配置,FineBI工程節點伺服器相關配置要求請參考第二章。
配置項 | 推薦配置 |
---|---|
共用要求 本節列出的要求,是每一種叢集組件都必須滿足的要求。 | |
伺服器數量 | 如有條件,建議負載均衡、狀態伺服器、檔案伺服器、外接配置庫組件分別部署在不同的獨立伺服器上 如條件不足,至少確定有單獨的伺服器部署這些組件,且組件獨佔該伺服器,不可與FineBI工程部署在同一伺服器上 |
作業系統 | Linux 伺服器 系統版本:Ubuntu 18.04.4 及以上 系統核心:3.10 及以上 系統架構:X86_64 |
GCC編譯器 | Redis 和 Nginx 在 Linux 系統上的部署均依賴 GCC 編譯器 請保證系統具備 GCC 編譯環境 查詢命令:gcc -v 安裝命令:yum install gcc gcc-c++ |
網路要求 | 1)各個組件和應用工程建議在同一網段,避免網路波動等問題 2)各個組件和應用工程如處於公網環境,帶寬需在10M以上 3)各個組件和應用工程之間需要網路暢通,互相埠可存取 |
狀態伺服器 | |
伺服器數量 | 1 |
部署方案 | redis單機 |
JVM/物理記憶體 | 4g/8g |
CPU | 2.5GHz以上 8核16執行緒 |
可用磁碟空間 | 100G以上 其中根目錄可用磁碟不可小於40G |
檔案伺服器 | |
伺服器數量 | 1 |
部署方案 | SFTP |
物理記憶體 | 8G |
CPU | 2.5GHz以上 8核16執行緒 |
可用磁碟空間 | 500G~1T 其中根目錄可用磁碟不可小於40G 後續請根據使用情況擴展 |
注意事項 | Linux系統安裝FTP時需要使用最高使用者(root),否則不能進行,若不安裝FTP則可不考慮這一要求 |
負載均衡 | |
伺服器數量 | 1 |
部署方案 | Nginx 版本推薦1.21及以上版本,優先使用最新版本 |
物理記憶體 | 8G |
CPU | 2.5GHz以上 8核16執行緒 |
可用磁碟空間 | 100G以上 其中根目錄可用磁碟不可小於40G |
配置資料庫伺服器(finedb) | |
伺服器數量 | 1 |
資料庫類型 | MySQL8 資料庫 資料庫版本:MySQL8.0.20以上版本 資料庫驅動:5.1.49 版本(相容MySQL5和8版本) 資料庫字元集:utf8 資料庫排序規則:utf8_bin 資料庫名稱:只允許包含數字、字母、底線和「.」 資料庫權限:create、delete、alter、update、select、insert、index |
CPU | 2.5GHz以上 8核16執行緒 |
物理記憶體 | 8g |
可用磁碟空間 | 200G以上 |
網速 | 100Mbps |
磁碟讀寫速度 | 100MB/s |
3.3 高可用抽取叢集
適用物件:
高可用抽取叢集
應用伺服器:不少於2節點
狀態伺服器:Redis叢集,3主3從
檔案伺服器:NAS
負載均衡:Nginx+Keepalived
配置資料庫:PostgreSQL
配置參數:
帆軟叢集架構為「工程節點+負載均衡+狀態伺服器+檔案伺服器+配置庫(外接finedb)」
本節僅介紹叢集其他組件的推薦配置,FineBI工程節點伺服器相關配置要求請參考第二章。
配置項 | 推薦配置 |
---|---|
共用要求 本節列出的要求,是每一種叢集組件都必須滿足的要求。 | |
伺服器數量 | 如有條件,建議負載均衡、狀態伺服器、檔案伺服器、外接配置庫組件分別部署在不同的獨立伺服器上 如條件不足,至少確定有單獨的伺服器部署這些組件,且組件獨佔該伺服器,不可與FineBI工程部署在同一伺服器上 |
作業系統 | Linux 伺服器 系統版本:Ubuntu 18.04.4 及以上 系統核心:3.10 及以上 系統架構:X86_64 |
GCC編譯器 | Redis 和 Nginx 在 Linux 系統上的部署均依賴 GCC 編譯器 請保證系統具備 GCC 編譯環境 查詢命令:gcc -v 安裝命令:yum install gcc gcc-c++ |
網路要求 | 1)各個組件和應用工程建議在同一網段,避免網路波動等問題 2)各個組件和應用工程如處於公網環境,帶寬需在10M以上 3)各個組件和應用工程之間需要網路暢通,互相埠可存取 |
狀態伺服器 | |
伺服器數量 | redis叢集,三主三從 如有條件,準備6台伺服器,每台伺服器部署一個節點 如條件不足,準備3台伺服器,每台伺服器部署一主一從節點 |
JVM/物理記憶體 | 4g/8g |
CPU | 2.5GHz以上 8核16執行緒 |
可用磁碟空間 | 100G以上 其中根目錄可用磁碟不可小於40G |
檔案伺服器 | |
伺服器數量 | 1 |
部署方案 | NAS |
物理記憶體 | 8G |
CPU | 2.5GHz以上 8核16執行緒 |
可用磁碟空間 | 500G~1T 其中根目錄可用磁碟不可小於40G 後續請根據使用情況擴展 |
負載均衡 | |
伺服器數量 | 2 |
部署方案 | Keepalived+Nginx Nginx版本推薦1.21及以上版本,優先使用最新版本 |
物理記憶體 | 8G |
CPU | 2.5GHz以上 8核16執行緒 |
可用磁碟空間 | 100G以上 其中根目錄可用磁碟不可小於40G |
配置資料庫伺服器(finedb) | |
伺服器數量 | 2 |
資料庫類型 | 高可用資料庫,主備模式 資料庫權限:create、delete、alter、update、select、insert、index |
CPU | 2.5GHz以上 8核16執行緒 |
物理記憶體 | 8g |
可用磁碟空間 | 200G以上 |
網速 | 100Mbps |
磁碟讀寫速度 | 100MB/s |