1.     概述

1.1.    测试目的

CRM系统性能测试是针对系统并发处理能力、交易响应时间等性能指标所进行的验证性测试。目的是尽可能地模拟生产环境的前提下,实现以下目标:

  1. 获取上线版本测试需求在当前生产环境下的单交易负载指标;
  2. 获取系统在当前测试环境下可支撑多少并发用户的数量;
  3. 获取系统在峰值的80%压力下稳定运行时系统的表现,重点关注JVM使用表现;

1.2.    测试地点

本次CRM非功能测试是在江苏兴化农商行CRM项目组执行测试。

         
         
         
         

2.     测试范围及方法

2.1测试性能指标范围概述

CRM的性能测试在多用户登录并发下的性能指标,主要包括:

1. 事务(测试对象的)的平均响应时间;

2. 各服务器(应用、数据库)的CPU利用率,内存、磁盘I/O使用情况;

3. TPS:反映CRM系统处理能力;(服务器对当前录制的事务的处理速度快慢 Transactions Per Second也就是事务数/ 秒,一个事务指一个客户机向服务器发送请求,然后服务器做出反应的过程。)

4. 交易成功率。

2.2 非功能测试指标标准

指标项

指标值

备注

系统并发用户数

>=100

混合场景并发

交易成功率

>=98%

TPS处理能力

>=2/秒

平均响应时间

<=10s

服务器资源利用率

CPU利用率不超过75%,内存利用率不超过80%、磁盘I/O、Network正常。

WAS服务器线程数

不存在排队与等待现象。

JVM

没有泄露现象能正常回收内存

2.3非功能测试场景设计

2.3.1单交易测试业务场景确定

简单解释:单个交易场景压力测试,并发50个用户,执行10分钟的交易操作,获得交易的响应时间和交易成功率数据是否符合性能指标要求。

测试目的:这种测试是为了检查应用程序是否存在代码上的性能问题(包括内存泄漏、连接池不足等问题)。

交易名称

交易路径

CRM系统并发多用户登录

登录至用户首页

客户管理

对公客户视图

客户管理

对私客户视图

客户资源管理

客户分配

客户管理

客户群管理-点击客户群管理

客户管理

集团客户管理-客户管理集团视图

客户管理

点击集团客户管理

客户管理

重点客户管理

客户经理管理

客户经理业务全景视图

首页

客户名称查询

首页

证件号码查询

首页

产品名称查询

2.4测试方法简要描述

在CRM系统应用端采用LoadRunner HTTP协议模拟真实的多用户操作,发起登录交易,模拟真实压力。

本次测试采用HP公司的LoadRunner作为压力发起的工具。版本为LR9.5。

LoadRunner是一种预测系统行为和性能的工业标准级负载测试工具。通过模拟虚拟用户实施并发负载及实时性能监测的方式来确认和查找问题。LoadRunner通过模拟实际用户的操作行为和实行实时性能监测,来帮助用户更快的查找和发现问题。

3.     测试环境

3.1.    测试环境介绍

  • 压力发起机:(IP:66.235.97.85)
  • DB2和WAS安装在同一台应用服务器:(IP:66.235.97.52)

3.2.    测试环境机器配置表

主 机

数量

型号

资 源

操作系统

CRM应用服务器(WAS)

1

IBM X3850

8C8G

LINUX

CRM数据库服务器(DB2)

1

IBM X3850

8C8G

LINUX

Loadrunner 控制器

1

PC

2C4G

WindowsXP

磁盘

1

未用磁盘空间

4.     项目时间表

任务

负责人

工期(天)

开始时间

结束时间

         
         
         
         
         

5.     压力测试通过标准

系统平均响应时间通过标准如下:

  • 单个用户迭代运行100次,平均响应时间小于2秒
  • 10个并发 平均响应时间小于3秒
  • 20个并发 平均响应时间小于5秒
  • 50个并发 平均响应时间小于8秒
  • 100个并发 平均响应时间小于10秒

系统资源占用情况通过标准:

  • CPU占用<=75%,内存占用<=80%,
  • 交易成功率>=99%
  • TPS>=2笔/秒

5.1.    单个场景测试

5.1.1.   单交易负载测试结果(50用户并发)

交易场景名称

交易步骤

平均响应时间

CPU占用

内存占用

交易成功率

CRM系统多用户并发登录

登录至用户首页

6.667

10%

33%

100%

客户管理

对公客户视图

1.912

9%

32%

100%

客户管理

对私客户视图

4.056

11%

32%

100%

客户资源管理

客户分配

7.541

28%

33%

100%

客户管理

客户群管理-点击客户群管理

6.459

28%

32%

100%

客户管理

点击集团客户管理

5.605

4%

35

100%

客户管理

点击普通客户群视图

7.347

22%

34%

100%

客户管理

点击重点客户管理

7.980

13%

34%

100%

客户管理

点击客户视图

5.456

13%

34%

100%

客户管理

点击客户概览信息

4.457

13%

34%

100%

客户经理管理

客户经理业务全景视图(包含3个页面场景,每个场景平均7S)

22.115

15%

33%

100%

首页

客户名称查询

6.887

8%

33%

100%

首页

证件号码查询

3.668

15%

33%

100%

首页

产品名称查询

7.298

7%

33%

100%

测试结果分析:

经过50个用户并发测试,CRM系统的主要场景平均响应时间完全满足当初系统设计的要求(50个用户并发,平均响应时间小于8S)。

5.2.    混合场景负载测试

混合场景策略:将所有的模块场景组合一起同时运行,完全模拟用户的真实情况进行压力测试,看看系统最大支持多少用户的并发,达到多少用户并发服务器性能开始下降。

5.2.1.   混合场景测试结果

交易场景平均响应时间如下:

1个用户,10个用户,20个用户,50个用户,100个用户并发运行12小时,各场景平均响应时间的测试结果如下:

交易场景名称

1个用户平均响应时间(S)

10个用户平均响应时间(S)

20个用户平均响应时间(S)

50个用户平均响应时间(S)

100个用户平均响应时间(S)

首页

0.367

1.38

3.369

6.532

11.083

客户概览信息

1

1.978

3.856

5.432

10.532

客户群管理

0.541

1.093

3.857

8.523

10.038

营销团队维护

0.193

0.699

1.291

4.821

9.762

客户群管理

0.183

0.628

1.188

4.58

9.744

客户基础信息

0.246

0.796

1.906

4.193

9.675

用户管理

0.181

0.619

1.101

4.535

9.489

客户价值管理

0.954

1.778

4.024

7.798

9.452

对私客户视图

1.561

1.986

4.08

7.682

9.375

客户经理全景视图

0.691

1.869

4.534

6.76

9.358

我的营销活动

0.97

1.959

3.789

6.786

9.232

客户概览

0.239

0.789

1.858

4.879

9.164

营销商机创建

0.253

0.838

1.907

5.012

9.082

外部数据导入

0.199

0.701

1.38

5.395

9.028

客户查询

0.539

1.485

3.749

7.998

8.998

登录

1.328

1.532

4.034

7.238

8.954

营销活动创建

0.181

0.609

1.094

4.433

8.835

客户名称查询

0.531

1.485

4.987

6.768

8.642

客户资源管理

0.841

1.123

3.135

7.63

8.64

重点客户管理

0.222

0.753

1.58

4.982

8.623

日志管理

0.877

1.523

3.084

6.762

8.541

营销产品设置

0.285

1.004

2.051

5.672

8.532

客户流失预警

0.276

0.936

2.022

5.176

8.532

营销活动审批

0.185

0.647

1.232

4.768

8.532

商机销售漏斗

0.18

0.609

1.084

4.362

8.394

重点客户管理

0.203

0.728

1.391

4.272

8.186

我的营销商机

0.267

0.914

1.922

5.493

8.129

客户综合评级

0.315

1.147

2.35

5.078

8.091

快速查询

0.221

0.751

1.428

4.621

8.072

客户分配

0.753

1.986

4.987

6.989

7.987

客户忠诚度

0.35

1.343

3.048

7.038

7.98

集团客户管理

0.234

0.759

1.62

4.325

7.867

客户主观评级

0.327

1.251

2.447

4.526

7.452

客户风险评估

0.18

0.6

0.984

3.327

7.389

客户积分管理

0.168

0.589

0.87

3.845

7.02

客户移交

0.311

1.105

2.121

4.98

6.769

营销商机审批

0.163

0.584

0.85

3.59

6.759

菜单项管理

0.346

1.298

2.685

5.436

6.598

布局设定

0.234

0.77

1.841

4.574

6.538

客户贡献度

0.159

0.582

0.838

3.519

6.439

客户经理信息查询

0.157

0.577

0.822

3.514

6.135

客户关联信息

0.154

0.562

0.814

3.444

5.995

客户经理业绩分析

0.15

0.558

0.797

3.435

5.685

客户视图

0.145

0.544

0.745

3.316

5.651

报表授权

0.143

0.518

0.743

3.298

5.453

客户生命周期

0.141

0.508

0.705

3.05

5.413

客户关怀管理

0.133

0.506

0.678

2.987

5.404

角色功能授权

0.133

0.5

0.669

2.879

5.342

客户概览信息

0.13

0.482

0.661

2.876

4.893

客户财务信息

0.129

0.479

0.655

2.687

4.836

信息提醒管理

0.123

0.423

0.629

2.427

4.191

客户退回

0.12

0.42

0.625

2.412

4.147

公告信息

0.12

0.418

0.606

2.365

4.145

工作日历

0.118

0.418

0.597

2.327

4.132

营销任务制定

0.114

0.404

0.586

2.284

4.06

数据字典管理

0.112

0.401

0.574

2.268

3.965

客户合并

0.107

0.399

0.571

2.258

3.794

通讯推送管理

0.105

0.386

0.547

2.244

3.501

报表查询

0.104

0.381

0.538

2.149

3.234

客户事件提醒

0.103

0.368

0.53

2.05

3.231

客户投诉管理

0.103

0.363

0.515

2.05

2.985

营销综合统计

0.101

0.353

0.507

2.005

2.876

客户管理菜单

0.1

0.353

0.506

2.004

2.861

营销产品管理查询

0.099

0.351

0.505

1.981

2.858

角色管理

0.097

0.347

0.497

1.922

2.838

指标管理

0.096

0.345

0.484

1.898

2.814

客户认领

0.089

0.341

0.484

1.828

2.807

客户管理

0.089

0.34

0.475

1.786

2.778

营销计划管理

0.089

0.33

0.437

1.777

2.297

风险客户管理

0.088

0.33

0.435

1.708

2.257

阳光信贷客户管理

0.086

0.33

0.433

1.7

2.22

客户关系图

0.084

0.328

0.416

1.653

2.197

任务管理

0.084

0.325

0.4

1.587

2.172

产品助手查询

0.08

0.315

0.383

1.551

2.044

片区管理

0.08

0.299

0.382

1.54

2.04

机构汇总

0.079

0.296

0.379

1.538

1.953

营销活动统计

0.077

0.293

0.378

1.457

1.7

部门管理

0.072

0.287

0.372

1.349

1.485

个人汇总

0.071

0.287

0.353

1.327

1.441

渠道信息管理

0.071

0.286

0.348

1.295

1.346

知识库

0.071

0.276

0.345

1.268

1.136

客户产品导入

0.07

0.27

0.343

1.243

1.134

税务数据导入

0.069

0.238

0.331

1.177

0.705

营销活动跟踪

0.069

0.237

0.329

1.16

0.615

报表配置

0.067

0.221

0.322

1.084

0.555

电费数据导入

0.067

0.217

0.322

0.927

0.547

营销模板管理

0.066

0.21

0.319

0.908

0.518

在线用户监控

0.063

0.208

0.299

0.873

0.484

水费数据导入

0.063

0.196

0.295

0.749

0.467

潜在客户管理

0.054

0.158

0.292

0.692

0.415

操作日志

0.05

0.157

0.28

0.669

0.404

机构管理

0.049

0.155

0.241

0.505

0.389

系统管理

0.044

0.124

0.233

0.413

0.349

金融工具箱

0.038

0.113

0.14

0.36

0.348

客户视图展示

0.016

0.032

0.028

0.099

0.121

结果分析

1个用户,10个用户,20个用户,50个用户,100个用户并发下,大部分事务的响应时间都在性能测试标准之内,并且压力过程中没有失败的事务,也未发现JVM泄漏、连接池不足等问题,基本上达到了需求要求的性能指标。

交易场景资源使用情况如下:

1个用户,10个用户,20个用户,50个用户,100个用户并发运行12小时,各场景资源使用情况和TPS,交易成功率的测试结果如下:

并发用户数量

TPS

交易成功率

CPU占用

MEM占用

1

1.2

100%

2%

18%

10

2.8

100%

5%

22%

20

3.1

100%

6%

25%

50

3.85

100%

6%

30%

100

4.6

99.9%

15%

33%

结果分析

通过以上数据分析,TPS,交易成功率,资源使用情况都符合性能指标要求。基本上达到了需求要求的性能指标。运行过程中没有发现内存泄漏、连建池不足等问题。

5.3.    稳定性测试

主要考察系统在一定的负载情况下,系统是否一直正常运行(24小时),系统是否中途会宕机或者内存泄漏的现象。

并发100个用户CRM所有主要场景混合压力测试,运行24小时,最终结果正常,没有发现内存泄漏和服务器死机现象,CPU使用,内存占用使用都在正常范围内。

6.     优化过程描述

经过3轮的稳定性测试,通过稳定性测试发现并解决问题如下:

1、 问题描述:部分场景响应时间慢

解决方案:通过增加数据库索引、重写部分前台SQL;

2、 问题描述:并发10个用户运行5分钟就连建池不足

解决方案:调整WAS相关参数,解决代码中连建池未释放缺陷;

3、 问题描述:并发50个用户运行20分钟就内存泄漏

解决方案:分析HEAPDUMP文件,找出问题代码并解决;

4、 问题描述:系统日志中的错误信息

解决方案:分析系统日志的错误信息,并解决代码问题;

5、 问题描述:并发100个用户运行12个小时,日志存在有PAGESIZE不足

解决方案:调整DB2的PAGESIZE设置;

7.     测试结论和建议

通过本次性能测试,在测试环境下,WAS单节点能稳定支持100个并发用户使用系统。按照经验,100个并发用户约等于800~1000个用户使用,按照目前兴化农商行的用户数600多人,已经完全满足,后续省联社版本,可以采取4台PC-SERVER(16C32G),做WAS集群,每台部署6个节点,按照单节点支持800~1000用户使用,预计可以支持19200~24000人同时使用系统,基本满足当时的系统设计,后续随着用户量增加还可以通过增加PC-SERVER集群,来支持系统的灵活扩容。

CRM-性能测试报告的更多相关文章

  1. Odoo:全球第一免费开源ERP权威性能测试报告完整版(绝对珍藏)

    Odoo平台简介 Odoo(以前叫OpenERP)是世界排名第一的开源ERP系统,最早由比利时一家公司开发,经过十几年发展,目前全世界Odoo的使用者超过2百万人,Odoo被翻译成几十种语言,Odoo ...

  2. intel Xeon(R) CPU E5-2650 v2 性能测试报告

                                          intel  Xeon(R) CPU E5-2650 v2                                 ...

  3. 【Jmeter自学】Jmeter性能测试报告(八)

    http://www.cnblogs.com/YatHo/p/6092599.htmlhttp://blog.csdn.net/xiaojianpitt/article/details/4821554 ...

  4. 【Loadrunner】性能测试报告实战

    一.一份好的性能测试报告需要遵循什么规则? 好的报告只需要遵循3点即可:清晰的结构.简要的语言以及数据的对比. 二.如何用Loadrunner自动到处HTML以及word版的报告? 1.导出html格 ...

  5. Jmeter-jtl性能测试报告转换-2种导出方法

    方法一*********************** 环境搭建 1.Java JDK   (版本最好在1.6或者1.6以上) 2.ANT 安装 下载地址:http://ant.apache.org/b ...

  6. 性能测试报告模板 V1.0

    1. 测试项目概述与测试目的 1.1 项目概述 本部分主要是针对即将进行压力测试的对象(接口.模块.进程或系统)进行概要的说明,让人明白该测试对象的主要功能与作用及相关背景. 1.2 测试目标 简要列 ...

  7. JMeter学习笔记16-如何输出HTML格式的性能测试报告

    文本来学习下,如何输入HTML格式的JMeter测试报告.前面已经介绍, 如果要做性能测试,需要在GUI上设计好你的Test Plan,设置各种场景和负载值,包括多少个线程,多少个用户,循环多少次.设 ...

  8. 国产CPU 申威1621 异数OS基础组件理论性能测试报告

    国产CPU 申威1621 异数OS基础组件理论性能测试报告 文章目录 国产CPU 申威1621 异数OS基础组件理论性能测试报告 前言 测试平台 测试项目 SW1621 异数OS 容器虚拟交换机模拟性 ...

  9. Linux 服务器性能测试报告-sysbench命令实践

    Linux 服务器性能测试报告 我们使用linux 工具sysbench 来测试linux服务器性能,目前在Centos上进行操作 Install sysbench yum -y install sy ...

  10. MiniSMB 专业网络性能测试仪表 英特尔82576 4*1GE 网卡性能测试报告

    MiniSMB 专业网络性能测试仪表英特尔82576 4*1GE网卡性能测试报告 一.测试环境 测试配置 ①工控机配置: CPU:Intel(R) Core(TM) i7-6800K CPU @ 3. ...

随机推荐

  1. poj 1789 Truck History

    题目连接 http://poj.org/problem?id=1789 Truck History Description Advanced Cargo Movement, Ltd. uses tru ...

  2. Thread系列——Thread.Sleep(0)

    转载自:http://www.cnblogs.com/ATually/archive/2010/10/21/1857261.html 线程这一概念,可以理解成进程中的一个小单元.这个单元是一个独立的执 ...

  3. 学Lua(上)

    学Lua(上) 在很多游戏中,脚本语言是不可或缺的一部分,很多游戏都使用到了Lua,js,python一类的脚本,脚本语言可以在很多方面给开发进程带来帮助.脚本语言可以作为初始化文件读入变量和游戏数据 ...

  4. Hadoop TextInputFormat源码分析

    from:http://blog.csdn.net/lzm1340458776/article/details/42707047 InputFormat主要用于描述输入数据的格式(我们只分析新API, ...

  5. Valid Palindrome

    leetcode:https://oj.leetcode.com/problems/ 今天A了一个Easy类型的,主要是判断一个字符串是否是回文.东平西凑的还是给弄好了,具体可看下面的要求,或者直接去 ...

  6. GCC笔记

    The History of GCC 1984年,Richard Stallman发起了自由软件运动,GNU (Gnu's Not Unix)项目应运而生,3年后,最初版的GCC横空出世,成为第一款可 ...

  7. SQL Server性能优化(5)表设计时的注意事项

    一. 是否需要冗余列 现在一些项目的数据库设计中,为了提高查询速度,把基本表的一些列也放到了数据表里,导致数据冗余.例如在热表的数据库里,原始数据表Measure_Heat里加了如房间号,单元号,楼号 ...

  8. 【Python】可变对象和不可变对象

    Python在heap中分配的对象分成两类:可变对象和不可变对象.所谓可变对象是指,对象的内容是可变的,例如list.而不可变的对象则相反,表示其内容不可变. 不可变对象:int,string,flo ...

  9. Java中HashMap排序

    注: 转载于 http://www.cnblogs.com/xingyun/archive/2012/12/09/2809962.html package com.holdobject; import ...

  10. [poj 1741]Tree 点分治

    题意 求树上距离不超过k的点对数,边权<=1000 题解     点分治.     点分治的思想就是取一个树的重心,这种路径只有两种情况,就是经过和不经过这个重心,如果不经过重心就把树剖开递归处 ...