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%之间