Version:ADF 12C

环境:JDK1.7 + Weblogic12c + Oracle DataBase 11g RAC

设置:

JDBC数据源最大连接数设为2000

初始100,每次增长100

压测机:loadRunder 2台

被压机器:Linux 1台

 

概要:新的ADF12c版本优化了REST的实现方式,可以轻松在ViewController层发布REST应用,并采用REST从AM连接池获取AM的方式进行数据库访问。

 

压测场景是模拟2000个用户针对单张Table的20000条记录进行查询/修改操作,并转换成JsonObject/JsonArray。分别测试了根据ID查询,根据非ID字段模糊查询的性能。

 

 

updateUserInfo

这是针对单表的更新操作

2000并发 运行30分钟

 

用户操作图,用户数2000:

 

AM实例情况

运行过程中,针对AM监控,截图如下:


AM实例数初始为100个,在执行过程中降为11个,说明在2000并发下执行update时共使用了89个AM实例。

AM实例创建的最长时间为5毫秒,平均为0.53毫秒。

因为每次请求用的都是不同的session,因此只有钝化数,没有激活数。

因为没有登录功能,2000个用户每次进行操作都会创建一个session。

我们将session过期时间设为1分钟,默认30分钟会出现java GC无效,内存溢出问题。这里很有提升空间

 

平均事务响应时间趋势图:

平均事务响应时间:1.748 s

 

应用服务器CPU空闲率在50%左右

 

 

queryUserById_db

根据ID进行查询

2000并发 运行25分钟

 

平均事务响应时间趋势图:平均事务响应时间:1.585s

 

应用服务器CPU 空闲率:保持在50%左右

queryUserByName_db

根据非ID字段进行模糊匹配,并返回最多10笔记录

1500并发 运行19分钟

 

平均事务响应时间趋势图:平均事务响应时间保持在2s以下

应用服务器CPU空闲率保持在25%以上

 

 

综合场景

同时运行以下事务:

queryApps_rowFinder 查询操作,返回多比结果

category_JsonFormat 查询操作,返回多比结果,并进行3层循环的json格式转换

iwantto_JsonFormat 查询操作,返回多比结果,并进行3层循环的json格式转换

1500并发运行15分钟

 

平均事务响应时间趋势图:平均事务响应时间均保持在0.5s~0.6s之间,响应稳定

 

应用服务器CPU空闲率保持在0~50%之间