综述
每一个商务智能产品都会关注到伸缩性这一点。好的伸缩性可以确保即使将来需求增长时也能很容易的得到解决。判断一个商务智能平台伸缩性的优劣可以从以下几方面考虑:用户伸缩性、数据伸缩性以及分析伸缩性。
用户伸缩性是指系统不仅能支持大规模用户,还能随用户数量增加简单快速增长系统的能力。这一点非常的重要,因为成功的商务智能产品会吸引更多的团体使用,而且那些懂得与客户与合作伙伴共享信息的企业才会更有竞争力。
数据伸缩性与用户伸缩性类似,是指系统拥有从兆到T级的数据分析能力。随着互联网的普及和新的数据采集技术的使用,企业能够收集到的数据前所未有的丰富。但是如何方便快捷的从如此海量的数据中抽取到我们需要的信息,这正是商务智能工具的重要指标。
分析伸缩性指的是使用统计或其他一些计算方法对不同类型的数据进行分析的能力。这一点也变得日益重要,除了数据仓库会把不同来源的数据到一起这一原因外,更为重要的是,随着时间的推移,用户对于分析的需求会逐步提高,他们想要的分析可能既包括统计、财务,还可能包括复杂的OLAP分析。分析伸缩性就是指商务智能产品能够满足用户日益增长的分析需求。
MicroStrategy公司于2000年7月在位于San Mateo,California的IBM Complex中心进行了性能与伸缩性测试。本次测试的目的在于测算MicroStrategy 7产品在IBM Netfinity Server上的性能与伸缩性指标。这篇报告描述了此次测试的结果。
总的来说,MicroStrategy 7对于总用户数为40万,并发用户数为1200的用户规模,每张报表的响应时间不超过30秒,用户同时访问的数据库表超过70张。具体的硬件规模为:3台4CPU的Netfinity Server做群集支持MicroStrategy Web,再加一台8路处理器的Netfinity Server用作MicroStrategy Intelligence Server。
MicroStrategy 7在IBM ServerProven平台下提供了极佳的性能,同时在IBM的ClusterProven平台下也得到了确认。同时,MicroStrategy 7的群集架构也完全支持故障恢复与负载均衡,这一架构也保证了系统的高可靠性和性能。测试证明,MicroStrategy 7在IBM的2,4,8路SMP系统上是有效的,其CPU的监测工具也显示MicroStrategy 7的多线程设计是世界一流的。
1 用户类型
在这里,先介绍三个重要的概念:
总用户数:是指在MicroStrategy产品平台上注册的用户数
活动用户数:是指同时登录或连接到MicroStrategy系统的用户数。他们与总用户数构成一个比率。
并发用户数:是指所提交的请求正在被MicroStrategy服务器(包括MicroStrategy Web和MicroStrategy Intelligence Server)处理的用户。他们与活动用户数构成一个比率。
比如,某使用MicroStrategy 7的企业网站有10,000人注册,那么,总用户数应当为100,000,其中,有30,000人登录在线,那么活动用户数应当为30,000。而在这30,000人中,当且仅当有1000人的提交请求正在被服务器处理时,这1000人才能被叫做并发用户数。
并发用户对总用户数的比率所实际环境不同而不同,一般来讲,是随用户量的增加而降低的。图1-a是几个用户比率的例子(不作为典型定义):
|
|
并发用户对总用户数之比 |
|
企业规模用户 |
3.5% |
|
电子商务高峰期 |
1.00% |
|
电子商务平均 |
0.35% |
2.1 架构综述
MicroStrategy 7商务智能平台使用了4层架构。Web浏览器用户通过Web Server访问MicroStrategy Web。Web Server可做群集。MicroStrategy Web与MicroStrategy Intelligence Server通讯,MicroStrategy Intelligence Server也可做群集。这种Web服务器与应用服务器的分离使Web Server无需与数据库建立连接,确保了非军事区的安全。在Web服务器上存在与数据库的连接是一个巨大的安全隐患,尤其是需要从企业外部访问数据时。在这里,完全是通过MicroStrategy Intelligence Server来与数据库进行连接并接收数据。
此次测试使用IBM Netfinity服务器作为MicroStrategy Web, MicroStrategy Intelligence Server和数据库的安装平台,数据库使用的是IBM DB2 Universal Database (UDB) 6.1 Service Level 3。在4台IBM Netfinity 5500工作站上使用MFC Blaster软件模拟用户连接,每台工作站拥有两颗CPU。
IBM的DB2产品系列可以运行的硬件平台除了IBM自身的硬件外还包括Sun, Hewlett-Packard的硬件环境,操作系统包括 Windows, Linux, Sun Solaris, HP-UX, NUMA-Q, AIX, OS/2, 以及一些掌上设备操作系统,比如 Windows CE, Palm Computing平台等。
IBM Intel-based Netfinity服务器可以使用Windows 2000/NT, Linux, Novell以及其他的操作系统。
当使用多个MicroStrategy Intelligence Server时,将它们作为群集,不仅可以负载均衡并发用户的请求,还具备故障恢复的功能。而在另一测试中,只将一台IBM Netfinity 8500R作为MicroStrategy Intelligence Server,它单独与MicroStrategy Web相连接。IBM DB2 Universal Database (UDB) 6.1 Service Level 3安装在IBM Netfinity 8500R(8*500MHz CPU)服务器上。
网络环境
网络环境包括两个局域网和一个广域网。一个局域网内安装有4个MicroStrategy Intelligence Server,4个MicroStrategy Web和IBM DB2数据库服务器。另一局域网是需要访问MicroStrategy Web的工作站。
广域网是模拟的互联网环境,叫做“Shunra Cloud”。WAN模拟器通过56K调制解调器和T1线路模拟客户端连接。
所有客户端使用TCP/IP作为数据传输协议,所有机器的网卡设置为自动检测100 base-T网卡。
附录4.1详细介绍了测试安装环境的信息
2.2 数据库项目
此次性能测试用到的项目是一个股票市场的样例项目。项目中包括股价,两年的公司和Ticker(股票行情显示器)信息。选择此项目是因为它的分析复杂度与大多数企业数据库类似。此股票市场样例项目还包括:
77个数据库表,总共超过2百万行记录
3个层系对象,28个实体对象,110个事实对象
490个计算度量对象,31个提示对象,6个转换对象,1个复合项对象,19个自定义组对象,483张报表,27个文档对象和大约100个过滤条件
2.3 测试过程
在模拟客户端上,针对不同的服务器配置运行不同的工作脚本,每一个脚本都会执行不同的任务,包括报表制作、报表操作与报表浏览等。这些工作可以分为8种测试场景。
所有的工作脚本除了3和8外运行时间都不超过15分钟,场景3和8运行了将近30分钟。
场景和报表类型如图2-c和2-d所示。
|
序号 |
名称 |
描述 |
|
1 |
执行缓存报表 |
所有的报表均来自于缓存,包括从缓存中接收各种复杂度的报表。 |
|