一张图,读懂BI系统结构
通过上图中,我们可清晰的了解到BI部署在中间件上,依托JDBC连接数据库,用户通过互联网访问平台资源,所以我们可以简单理解,可能会影响到BI服务器性能的因素有:
· 中间件
· 数据库
· 网络资源
他们分别对BI服务器有怎样的影响,应该如何设置,服务器性能会更优呢?我们一起来分解下。
中间件种类繁多,以TOMCAT为例。
TOMCAT默认内存最大内存为128M,在大用户量情况下容易出现内存不够的情况,所以需要进行调整。
修改内存大小一般在启动文件startup.bat或startup.sh中设置,设置例子如下:
Set JAVA_OPTS= -Xmx1024m -Xms256m -XX:MaxPermSize=256m(Windows)
JAVA_OPTS=-Xmx1024m -Xms256m -XX:MaxPermSize=256m(Linux)
内存调整需根据服务器内存大小、操作系统版本、WEB服务器版本、JDK版本和实际使用情况进行调整,一般建议在32bit环境下最大内存不要超过2G,在64bit环境下不要超过4G,且如果启动tomcat失败可以逐渐调下内存。
注意:某些JDK版本限制最大堆内存,不支持分配超过1.5G的内存,如果有充足的内存,可以多建立几个节点集群成员,逐一对每个成员做相应的修改。
BI分析表,会根据用户选择的计算条件转译成为SQL,并返回数据库中进行查询,最终将查询的结果重新构表,并返回到BI门户中。所以数据库的计算性能直接影响到查询的效率,再前端的感受,就是分析表计算时长。
影响的因素包括,但不限于:
· 内部参数;
· 最大连接数;
· 磁盘空间和转数;
· 表空间大小和使用情况;
因每个数据库参数设置各有不同,在此不一一列举具体配置方法。
网络的影响分为内部和外部。
内部主要是,中间件和数据库服务器交互的速度。通俗的讲,BI部署在中间件中,依托网络连接数据库,进行数据交互,中间件服务与数据库服务器交互的速度也会影响到BI服务器访问的速度;
同理,用户通过客户端访问BI服务器,也是依托网络环境,网络速度低,会直接影响到服务器的访问效果。通常我们建议客户端的网络传输速度不低于100KB/s;
(1) 线程数设置,当计算报表的时候提示正在计算,有多少用户在排队时
建议: CPU个数*4
(2) 数据库连接数,当数据库连接池已满或者连接超时
建议:修改JDBC中的maxactive值,设置为100
BI自带系统诊断功能,当系统设置在超出预警,系统会予以警示。
诊断项 |
检测内容(中文) |
时区设置 |
必须是Asia/Shanghai,否则提示错误 |
file.encoding设置 |
必须是"UTF-8","UTF8","GB18030","GBK",否则提示错误 |
sun.jnu.encoding设置 |
同上 |
操作系统字符集 |
检查文件名或文件内容是否支持GBK编码,不支持提示错误 |
java.awt.headless设置 |
windows不检查,linux检查或未设置提示错误 |
最大内存设置 |
32位要求大于1024M,64位要求大于2048M |
可用内存 |
<%5 系统已几乎无可用内存 |
可用字体 |
必须有宋体字体,否则不能通过 |
连接池参数检查 |
mysql连接池未找到characterEncoding,提示 |
连接池数据库驱动检查 |
DB2驱动低于9.5,提示 |
检查超级管理员密码 |
通过注释不能和用户名相同,设置的"123456"等; |
日志检查 |
超过10w行提示 |
线程池状态 |
等待线程>30,提示 |
注册码检查 |
>0 & <30,提示 |
工作目录检查 |
>2g,提示 |
默认备份计划任务 |
不存在,提示 |