100万条的报表要多长时间 - Web报表系统的性能问题探讨

 

生成一个100万条数据的报表要多长时间? - Web报表系统的性能问题是很多用户关心的。本文将讨论:性能是受什么影响的,如何提升Web报表系统的性能,在性能方面会出现的局限是什么。

一个参考数据:某报表系统,使用1P4 2.0GCPU 512M内存的PC进行测试,出现了内存崩溃。就意味着报表完全打不开。

实际上,这个数据说明不了什么,因为报表的样子,数据的情况,相关环境都是不一样的,很难进行什么比较。但是这里面真正需要的:是弄明白性能是受什么影响的,如何提升Web报表系统的性能,提升报表系统性能的方法的局限性。

影响Web报表系统性能的,最主要的可能是两个方面,一个是报表与数据的关系,另一个是服务平台的计算能力。

先看前一个,报表与数据的关系。如果传到报表的数据大量是多余的数据,或者提取数据的过程中数据库的计算过于复杂(比如复杂的视图、存储过程),则肯定会影响性能。反之,如果报表模型先进,需要传过来的的数据量少,如果不需要复杂的预计算过程,则肯定报表系统性能会比较高。

再看服务平台(计算平台),简单讲方法就是:CPU,内存最直接影响性能。

相应地,提升性能的方法也很简单,一是采用更合理的报表设计,或者说采用在这方面有优势的报表系统,二是增加CPU或采用能力更强的CPU,以及增加内存。

事实上,为了提高报表性能而提升报表服务器的大型机的CPU,内存 是不实际的。报表只是一个展现工具,不是关键应用。报表慢的原因主要与数据库取数和sql语句有关,如果在设计中没有解决这样的问题,换再快的CPU,加再多的内存,也没有用。

这里笔者只所以举例某报表系统,就是因为该报表在设计方面的问题,造成数据库取数性能上的瓶颈。

由此可见,如果web报表工具在数据库中取数方面做的不好,是根本不可能应对日益庞大的报表数据的。

posted on 2008-08-03 20:41 Jones_Zhu 阅读(287) 评论(0)  编辑  收藏 所属分类: Java 技术

<2008年8月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
31123456

导航

统计

常用链接

留言簿(1)

随笔分类

随笔档案

搜索

最新评论

阅读排行榜

评论排行榜