BI服务器配置与客户端情况
1. BI描述
FineBI是一款纯B/S端的商业智能分析服务平台;支持通过web应用服务器将其部署在服务器上,提供企业云服务器。用户端只需要使用一个浏览器即可进行服务平台的访问和使用。因此在配置使用上可分为:服务器硬件配置、web服务器配置、客户端浏览器配置这三项内容。其中服务器硬件配置与web服务器配置是相辅相成的。
注:BI是web应用工程,是在web服务器上执行的。因此BI使用内存实际上是web服务器对应的JVM的内存。因此下文会分别说明硬件内存和BI分配的内存来区分二者。
2. 性能说明与服务器硬件
FineBI的性能主要分为FineIndex性能和数据分析的性能
2.1FineIndex性能
FineIndex本身作为数据仓库到自定义分析的中间层,它是将数据仓库中抽取的数据作为缓存数据生成文件放置到硬盘上的,它本身构建的是数据立方体,需要切片、分组索引。因此其性能参数主要在于如下:
(1) 内存
FineIndex在抽取数据、分组写入索引、写入关联生成缓存数据的过程中,均会将数据在内存中去操作。内存越大其速度越快。
FineIndex在数据计算的过程,采用的是Java计算(一般优于sql计算),也是消耗内存的资源,因此内存越大其运算的速度越快。
(2)硬盘
在FineIndex的使用过程中,FineIndex的生成是写入硬盘的文件。因此写入速度越快,则性能越高。
在FineIndex被读取数据时,系统执行的是文件级读取(性能上优于数据库读取),读取文件的速度越快,则性能越优。
2.2数据分析性能
数据分析是前端新建仪表板模块加载FineIndex的数据进入内存中进行计算。因此仍然是FineIndex的数据读取进行加载,然后在内存中运算。涉及的指标仍然是内存大小与硬盘读写速度。
2.3FineIndex大小预估
FineIndex体量大小通常会影响到硬盘容量的选择;FineIndex是将数据仓库中抽取的数据作为缓存数据生成文件放置到硬盘上的,它本身构建的是数据立方体,因此会在原有的数据容量基础上再次扩大。一般情况会是原数据的2~3倍。即当原数据容量是1G,则生成FineIndex是2~3G;而由于FineIndex更新是在不改原有的FineIndex文件,重新生成一份新的FineIndex文件,新的FineIndex文件生成后与旧的FineIndex文件进行替换,替换的时候硬盘空间占用了两倍的FineIndex大小,因此硬盘容量应该在该基础上再乘以2。即硬盘容量大小需求至少是原数据体量的4~6倍。
下文详细说明不同场景下的性能参数的配置。
3. BI服务器配置
3.1按最大单表数据量来判定
FineBI采用列式存储的FineIndex形式来处理数据,单表数据量(数据行数)是很重要的性能评测的参数。它即影响到FineIndex的更新速度又影响前端的计算速度;当然该单表数据还与表的分组有关。当前在预估服务器配置上,从最大单表的数据量即能很好的判断出数据。因此可以按单表数据量来判断BI服务器的配置。
注:其中硬盘大小一般为预估,当然用户应按数据库中的实际数据量的大小来预估,选择一款硬盘即可。硬盘推荐使用固态硬盘,但不强求固态硬盘。
按:性能情况为FineIndex按1000W数据10分钟内跑完,前端计算单表秒级展示。
序号 | 数据量 | 推荐CPU | 推荐内存 | 推荐硬盘空间 |
1 | <1000W | intelE3-1231v3 | 8G DDR4 2133MHz | intel750 SSD 500G |
2 | 1000W-3000W | intelE5-2609v3 | 2*8G DDR4 2133MHz | intel750 SSD 500G-800G |
3 | 3000W-5000W | intelE5-2609v3 | 2*16G DDR4 2133MHz | intel750 SSD 800G/1.2T /企业级 1T SAS 10000RPM |
4 | 5000W-1亿 | 2*intelE5-2609v3 | 2*16G DDR4 2133MHz /4*16G DDR4 2133MHz |
intel750 SSD 1.2T /企业级 2T SAS 10000RPM |
5 | >1亿 | 4*intelE5-2609v3以上 | 4*16G DDR4 2400MHz | 企业级 2T SAS 10000RPM |
注:其中内存大小为预估,实际需根据业务场景模版数量以及ETL计算复杂程度来估算。
(1)1000万条数据及其以下
1000W的数据通常是小数据量,该数据量情况下BI通常需要的内存在4~6G左右;因此服务器的硬件内存通常需要8G即可。由于数据量比较小,因此硬盘空间并不需要过大,因此正常500G的硬盘基本够用。可以采用500G的固态硬盘。
推荐配置:CPU--intelE3-1231v3以上;内存---8G DDR3 1600MHz 硬盘--intel750 SSD 500G
(2)1000万~3000万条数据
1000W至3000万的数据通常也是较小的数据量,该数据量情况下BI通常需要的内存在8G~12G左右;因此服务器的硬件内存通常需要16G即可。由于数据量比较小,因此硬盘空间并不需要过大,因此正常500~800G的硬盘基本够用。可以采用500G/800G的固态硬盘。
推荐配置:CPU--intelE5-2609v3;内存---2*8G DDR4 2133MHz 硬盘--intel750 SSD 500G/intel 750 SSD 800G
(3)3000万~5000万条数据
3000W至5000万的数据是常见的数据量,该数据量情况下BI通常需要的内存在16G~24左右;因此服务器的硬件内存通常需要32G即可。硬盘空间大小一般需求在800G~1T左右。可以采用800G/1T的固态硬盘或采用企业级硬盘1T。
推荐配置:CPU--intelE5-2609v3;内存---2*8G DDR4 2133MHz 硬盘--intel750 SSD 800G/1.2T/企业级 1T SAS 10000RPM
(4)5000万~1亿条数据
5000W至1亿的数据量是较大的数据量,该数据量情况下BI通常需要的内存在24G~32G左右;因此服务器的硬件内存通常需要32G~64G即可。硬盘空间大小一般需求在1T以上。可以采用1.2T的固态硬盘或采用企业级硬盘2T。
推荐配置:CPU--2*intelE5-2609v3;内存---2*16G DDR4 2133MHz/4*16G DDR4 2133MHz 硬盘--intel750 SSD 1.2T/企业级 2T SAS 10000RPM
(5)1亿数据以上
1亿数据量以上是较大的数据量,该数据量情况下BI通常需要的内存在32G以上;因此服务器的硬件内存通常需要64G以上。硬盘空间大小一般需求在2T以上。可以采用企业级硬盘2T。
推荐配置:CPU--4*intelE5-2609v3以上;内存---4*16G DDR4 2400MHz 硬盘--企业级 2T SAS 10000RPM
3.2并发数因素的影响
按并发数来判定,通常是在数据分析端尤其是查看状态下,如果多人同时在线查看分析,则会有较大的并发影响。上述“单表数据量”通常是在忽略并发数的情况下来讨论的,那么当我们加入并发数这个因素后。我们会有两种处理方式:
一种方式,是通过集群的方式,多机集群来解决当前的数据。另一种方式当然是升级服务器配置到下一个档次。
那么正常FineBI在服务器上,按上述的配置单机的并发性能通常是20~25个左右。当超过这并发数时,可以将配置升级下一个档次。通常如果使用的是SSD固态硬盘,则不需要升级硬盘。
3.3服务器案例
(1)某医药集团:最大单表1000万行,并发数80个
CPU---inteli7-4790以上或intelE3-1231v3以上 内存---32G DDR3 1600MHz 硬盘---intel750 SSD 500G
(2)某国税:最大单表2亿行,并发数65个
CPU---4 X Intel i7-4830 v2 10C/20T 2.2GHz 20MB 内存---8 X 16GB DDR3 1600MHz 硬盘---企业级 2T SAS 10000RPM/企业级 512G固态硬盘
4. 服务器系统
FineBI支持windows、Linux、unix、Solaris 、Aix、IRIX等绝大多数的服务器系统。
从这些系统本身来看,服务器系统抛去用户常用的使用习惯之外,我们常推荐用户使用linux服务器。Linux系统作为企业级服务器的系统相比windows的优势众所周知,就不赘述了。
注:此处推荐只是说明linux的系统本身的优越性,与FineBI并无关系。FineBI在任意服务器系统的运行表现均良好,从FineBI本身来看,性能几乎一致。
5. web服务器
FineBI作为web应用,可以适配几乎所有的web服务器。我们推荐:tomcat、weblogic、websphere等常用服务器。
6. 客户端
BI是B/S框架的web应用服务,因此在客户端层面只需要一个浏览器即可。当前BI支持业内大多数的浏览器。
按浏览器引擎可分:
单核心:谷歌、火狐、IE8及其以上(包括Edge)、Safari、opera
双核心:360浏览器、搜狗浏览器、QQ浏览器、UC浏览器、猎豹浏览器、百度浏览器
注:其中双核心的浏览器只支持其极速模式,不支持兼容模式。
从渲染引擎的匹配度上,我们建议使用浏览器:谷歌、火狐。
7. 网速
在企业级应用中,BI作为企业云服务置于服务器上。BI连接的数据库也可能置于其他的服务器上,BI本身可能存在多服务器集群的情况,用户均使用浏览器访问云服务。数据的传递和展示均通过因特网传输,因此网速也是影响数据展示的性能之一。
服务器与服务器间:BI置于服务器上与其他服务器上的数据库连接、与自身集群的连接,往往都是极大量的数据来回传输,如更新FineIndex,FineIndex从数据库中读取千万级甚至亿级的数据,此时往往需要的网速达到千兆。即服务器与服务器间网速通常推荐达到千兆级。
客户端访问:客户端访问往往是网页上的信息传递。该网速要求比较低,10兆、百兆均可。
BI服务器配置与客户端情况的更多相关文章
- C# 不安装Oracle客户端情况下,如何连接到Oracle数据库
简介: 在我们开发应用场景经常碰到需要连接Oracle数据库,这也是相当常见的一种情况.一般.Net环境连接Oracle数据库,可以通过TNS/SQL.NET 配置文件,而 TNS 必须要 Oracl ...
- svn服务器配置与客户端的使用
1, Apache Subversion 官网下载地址: http://subversion.apache.org/packages.html#windows 官网下载提供的一般都是最新版本的,如果想 ...
- 简述SVN服务器配置和客户端操作
有关SVN服务器的搭建见:http://www.cnblogs.com/DwyaneTalk/p/3997688.html 搭建好环境之后,服务器端需要完成如下操作: 1.需要新建Repository ...
- 不安装Oracle客户端情况下使用PL/SQL 远程连接数据库
附送PL/SQL Developer11中文版下载地址 1.先到Oracle网站下载Instant Client : http://www.oracle.com/technetwork/databas ...
- 太多选择——企业如何选择合适的BI工具?
在没认清现状前,企业当然不能一言不合就上BI. BI不同于一般的企业管理软件,不能简单归类为类似用于提高管理的ERP和WMS,或用于提高企业效率的OA.BPM.BI的本质应该是通过展现数据,用于加强企 ...
- 什么是BI及哪些行业需要用到BI?
什么是BI?哪些行业需要用到BI?BI——就是分析利用企业已有的各种商用数据来了解企业的经营状况和外部环境,从而为企业的经营决策提供数据支撑.下面我们来详细分解下: 企业应用BI的目标即是期望通过对来 ...
- 【BI学习笔记】适合集成到项目里的BI:Wyn Enterprise
近日,我收到葡萄城的邮件,讲葡萄城开始进军BI领域,发布了一套BI和报表工具,叫Wyn Enterprise. 之前了解过PowerBI等面向终端用户的BI工具,我发现BI工具与Wyn Enterpr ...
- 关于BI商业智能的“8大问”|一文读懂大数据BI
这里不再阐述商业智能的概念了,关于BI,就从过往的了解,搜索以及知乎的一些问答,大家困惑的点主要集中于大数据与BI的关系,BI的一些技术问题,以及BI行业和个人职业前景的发展.这里归纳成8个问题点,每 ...
- 本地主机不安装oracle客户端--访问远程oracle数据库
在不安装oracle客户端情况下用sqlplus连接数据库: 1.去官网下载 http://www.oracle.com/technetwork/topics/winx64soft-089540.ht ...
随机推荐
- 创建对象的N种模式
1 new Object() 先创建一个Object实例,然后为它添加属性和方法 var Person = new Object() Person.name = 'hl' Person.sayName ...
- PHP面向对象笔记解析
PHP的面向对象是很重要的内容,也是很常用的内容.所以现在就把PHP面向对象进行整理了一下. 顺带,我会在后面把我整理的一整套CSS3,PHP,MYSQL的开发的笔记打包放到百度云,有需要可以直接去百 ...
- Caused by: java.lang.RuntimeException: by java.lang.OutOfMemoryError: PermGen space(tomcat 启动时提示内存溢出)
设置MaxPermSize大小TOMCAT_HOME/bin/catalina.bat 文件头加set JAVA_OPTS='-Xms512m -Xmx1024m -XX:MaxPermSize=51 ...
- Java IO学习笔记四
内存操作流 之前的所有的流操作都是针对文件的,但是有时候只是想要实现数据间转换,此时如果我们想要创建一个文件然后再删除文件,那样显得有点麻烦,因此此时的内存操作流就显得很适合这类的操作,因为它只是在内 ...
- 利用jenkins做项目的自动化部署
最近领导要求上海本地的项目需要使用进jenkins实现自动化部署,以便可以直接将项目移交给运维的同学,减轻开发的工作量.记录下这次爬坑的过程. 一.前言 Jenkins是基于Java开发的一种持续集成 ...
- java注解编程
- BeanUtils.copyProperties VS PropertyUtils.copyProperties
作为两个bean属性copy的工具类,他们被广泛使用,同时也很容易误用,给人造成困然:比如:昨天发现同事在使用BeanUtils.copyProperties copy有integer类型属性的bea ...
- Reflect(反射)
反射.反射,程序员的快乐.反射是无处不在的. 那么什么是反射:通过反射,可以在运行时获得程序或程序集中每一个类型(包括类.结构.委托.接口和枚举等)的成员和成员的信息.有了反射,即可对每一个类型了如指 ...
- Example001使用window对象打开窗口
<!--实例001使用window对象打开窗口--> <script> <!--使用window对象打开窗口的语法格式如下--> <!--window.ope ...
- React 在服务端渲染的实现
原文地址:Server-Side React Rendering 原文作者:Roger Jin 译者:牧云云 React 在服务端渲染的实现 React是最受欢迎的客户端 JavaScript 框架, ...