在eStore系统中JdonSD构件库2.0性能测试
测试基础环境:
|
硬件配置 |
软件环境 |
测试时间 |
2004年 JdonSD2.0 |
服务器 |
P4 512M内存 |
JBoss 3.23+MySQL 4.0 +eStore
Borland的Optimizeit
5.0 |
客户端
|
PIII 450 128M内存 |
JMeter
参数配置:10个用户 并发运行50次或无限时间(测试内存泄漏)。 |
|
测试用例:
测试目的 |
证明JdonSD构件库不会占据系统主要资源(CPU和内存)。是安全、敏捷的。 |
测试页面 |
树显示页面,treeAction.do |
运行原理
|
通过Struts的Action,通过JdonSD的AOP拦截器调用CategoryXXXX相关EJB。这个测试过程并没有激活缓存功能,每个树型节点都是通过后台EJB从数据库直接读取。 |
|
测试结果:
客户端 |
客户端除了10个用户第一次响应时间是20秒,以后平均响应时间在6秒左右,并且保持这个响应时间结束。
上述结果是因为服务器端有
Optimizeit
5.0参与影响响应时间,正常反应是在1秒以内。 |
服务器端CPU
占用分析 |
选取第二个线程跟踪分析,按这里观看统计结果,从图中可见,JdonSD构件库并没有成为占用CPU的主要者,主要者而是业务逻辑com.jdon.estore为首的与eStore相关的功能类,从而证明JdonSD构件库基本不影响具体项目的CPU占用。 |
服务器内存
占用分析 |
按这里观察统计结果,从图中看出,除了JdonSD构件库启动容器占用少量内存,这个内存只占用系统内存的0.02%,数量也有限
16个。其他占据内存更少,这说明JdonSD构件库在内存方面并不会影响主要影响项目。
|
服务器测试
样本 |
如果你安装了Optimizeit,可以下载这个测试报告并用Opitimzeit打开它。 |
|
本次测试总结:
通过以上无缓存的页面测试,证明JdonSD构件库是个安全、轻型敏捷的插件系统,不占据系统的主要资源。
性能提升测试用例:
测试目的 |
JdonSD构件库缓存对性能的提升 |
测试页面 |
1. 某个目录下商品列表第一页,productList.do?catId=20
2.
数据库中只有10个数据
3. 服务器端未启动Optimizeit
|
运行原理
|
JdonSD构件库的缓存拦截器将优化提高性能 |
测试结果 |
Jmeter测试结果平均响应时间700毫秒,如图:

Jmeter测试结果文档 |
|
测试目的 |
JdonSD构件库对大规模查询的性能提升。 |
测试页面 |
1. 某个目录下商品列表最后某页,productList.do?start=8000&count=20
2.
数据库中有9000条记录
3. 服务器端未启动Optimizeit
|
运行原理
|
JdonSD的批量数据查询框架将发挥作用,提高大数据量查询性能。 |
测试结果 |
Jmeter测试结果平均响应时间1000毫秒,
Jmeter测试结果文档 |
|
测试目的 |
JdonSD构件库在大规模查询下不存在内存泄漏
不会出现outOfMemory错误 |
测试页面 |
1. 某个目录下商品列表最后某页,productList.do?start=8000&count=20
2. 数据库中有9000条记录
3. 服务器端启动Optimizeit
|
运行原理
|
1. JdonSD的批量数据查询框架将发挥作用,提高大数据量查询性能。
2. 运行时间为8个小时。
|
服务器端CPU
占用分析 |
按这里观看统计结果,从图中可以看出,JdonSD的缓存相关类排列前面,说明缓存机制发挥了作用。 |
服务器内存
占用分析 |
内存中com.jdon相关实例个数非常少,见这里报告。
最多的String类中涉及的具体类中,都是有关JdonSD缓存类有关,但是个数没有呈无限增长趋势,见这里报告
|
服务器测试
样本 |
如果你安装了Optimizeit,可以下载这个测试报告并用Opitimzeit打开它。 |
|
|