一、 性能对比测试目的 目前系统的大数据量运算展示等情况越来越多,报表产品性能是否能够支撑应用系统有着很大的意义。编写此对比测试报告的目的是通过测试对比不同引擎选择适合的引擎满足产品的性能需求,同时发现系统中存在的性能瓶颈,提升产品性能有依可据,起到引导优化产品性能的目的。 二、 性能测试主要指标
2.1 典型应用模板展示加载时间
2.2 测试机器的CPU、内存使用情况
三、 测试环境
3.1 硬件环境3.2 软件环境 四、 测试工具Jprofiler工具主要用于检查和跟踪系统(仅限JAVA开发)的性能。Jprofiler可以通过时时的监控系统的内存使用情况,随时监控垃圾回收,线程运行状态等手段,从而很好的监视JVM运行情况及性能。Jprofiler直觉式的GUI让你可以找到性能瓶颈、抓出内存漏失。 五、 数据表详情 表名 | | S人员花名册 | | 20w_10col | | 100w | | 10w_10col_group10000 | | 六、测试场景6.1 明细表展示 主要测试功能点 | |
| 数据表 | |
|
|
|
| | | |
| 螺旋展示 | | | | |
| | | | |
| | | | |
| 报表展示 | | | | |
| | | | |
| | | | |
| | | | |
| 数据表 | |
|
|
|
| | | |
| 螺旋展示 | | | | |
| | | | |
| | | | |
| 报表展示 | | | | |
| | | | |
| | | | |
| | | | |
| 数据表 | |
|
|
|
| | | | 螺旋展示 | | | | |
| | | | |
| | | | |
| 报表展示 | | | | |
| | | | |
| | | | |
| | | | |
|
|
|
|
|
|
|
|
| 6.2 分组表展示 主要测试功能点 | | 数据表 | | 最终展现100行2列
|
| | | | 螺旋展示 | | | | | | | | | | | | | 报表展示 | | | | | | | | | | | | | | | | | 6.3 明细表过滤排序展示 主要测试功能点 | | 数据表 | | 最终展现24W行5列
|
| | | | 螺旋展示 | | | | | | | | | | | | | 报表展示 | | | | | | | | | | | | | | | | | 数据表 | | 最终展现1008行4列
|
| | | | 螺旋展示 | | | | | | | | | | | | | 报表展示 | | | | | | | | | | | | | | | | |
|
|
|
|
|
|
| 6.4 明细表计算展示 主要测试功能点 | | 数据表 | | 最终展现 100W行5列
|
| | | | 螺旋展示 | | | | | | | | | | | | | 报表展示 | | GC overhead limit exceeded
| | | | 数据表 | | 最终展现 20W行5列
|
| | | | 螺旋展示 | | | | | | | | | | | | | 报表展示 | | | | | | | | | | | | | | | | |
|
|
|
|
|
|
| 6.5 多表关联 主要测试功能点 | | 数据表 | 20w_10col、10w_10col_group10000 | 最终展现20行5列
|
| | | | 螺旋展示 | | | | | | | | | | | | | 报表展示 | | | | | | | | | | | | | | | | | 七、测试结果分析当使用螺旋数据集进行数据的读取时,第一次读取有一个进行缓存的过程,所以第一次读取时间大约等于使用SQL读取的时间。以后进行读取是直接在内存中进行读取的,时间大约就是报表展现的时间,缓存失效时间为5分钟。 在进行明细表展现时,小数据量下数据读取不是系统的瓶颈,报表与螺旋数据集无较大差别,当数据量达到几十万上百万时,报表读取时间显著加长。螺旋数据集在缓存下对比报表有5倍的性能提升。在明细表进行过滤计算排序等操作形成小数据集时,螺旋数据集也能够保持5倍以上的性能。 分组汇总表展现是螺旋数据集的长处,几十万甚至百万数据下分组汇总,螺旋数据集对比报表有5到10倍的性能提升。 螺旋数据集具有预先关联数据表的功能,能够预先处理数据表关联逻辑。在数据生成前就能做好关联操作,报表展现的时候直接在缓存中读取多张表的关联后的表直接展现。相对于报表手动关联有10倍的性能提升。
|