测试用例 |
初始化数据: |
Customer对象具有id、name两个属性,初始化13个对象的map,以id为key |
测试输入输出: |
对服务提交get请求,去Customer对象列表。 |
测试注意: |
除各实现要求的必须差别外,开发中保证代码对Customer的操作是完全一致的。减少因操作不一致造成的性能差异。 |
测试步骤: |
1. 针对不同实现,分别搭建独立的Tomcat服务器,保证服务器的资源配置相同。 |
2. 针对每个实现,通过客户端多线程访问服务器,测试多线程同时访问服务器且全部返回正确的极限值。 |
3. 使用得出的极限值进行3次测试,每次要求重新启动Tomcat服务,记录测试结果,其中服务器内存使用记录要求包括:启动Tomcat但未访问服务前、服务访问后以及在访问服务的过程中3次随机截取的内存使用情况。 |
4. 使用较小的并发数量,长时间对每个实现分别进行测试,测试服务的稳定性。要求时间大于3小时,并发量大于30线程。 |
测试环境: | |||
Servlet容器信息: | |||
Tomcat | |||
版本 | 6.0.29 | ||
内存分配 | 初始内存 | webservice实现 Tenured 10.69Mb | |
Perm 12Mb | |||
Total 49.66Mb | |||
最大内存 | Tenured 170.69Mb | ||
Perm 64Mb | |||
Total 365.5Mb | |||
项目版本: | |||
Apache CXF | 2.3.1 | ||
Jersey | 1.5 | ||
RESTEasy | 2.1 | ||
Restlet | Java EE 2.0.4 | ||
测试工具: | |||
JMeter | 2.4 | (客户端压力) | |
Probe | 1.7b | (Tomcat内存监控) | |
线程 | 线程间隔 | 循环次数 | 平均值 | 最小值 | 最大值 | 吞吐量/秒 | 流量(KB/秒) | 说明 | ||
index测试 | ||||||||||
500 | 0 | 100 | 线程循环中断,大压力下,tomcat仍然能够返回,证明瓶颈不发生在tomcat端 | |||||||
cxf get 测试 | ||||||||||
cxf运行瓶颈测试 | 130 | 0 | 100 | 线程循环中等情况下,最大线程压力 | ||||||
cxf第一次资源消耗测试 | 100 | 0 | 300 | 449 | 4 | 8438 | 197.9 | 64.6 | ||
cxf第二次资源消耗测试 | 100 | 0 | 300 | 425 | 4 | 10519 | 204.3 | 66.6 | ||
cxf第三次资源消耗测试 | 100 | 0 | 300 | 451 | 5 | 9082 | 196.3 | 64 | ||
jersey get 测试 | ||||||||||
jersey运行瓶颈测试 | 250 | 0 | 100 | 速度快于cxf,资源消耗小于cxf | ||||||
jersey第一次资源消耗测试 | 100 | 0 | 300 | 76 | 1 | 6359 | 877.3 | 619.4 | 吞吐量未达到极限 | |
jersey第二次资源消耗测试 | 100 | 0 | 300 | 112 | 1 | 8298 | 712 | 502 | ||
jersey第三次资源消耗测试 | 100 | 0 | 300 | 129 | 1 | 6281 | 623.2 | 440 | ||
Resteasy get 测试 | ||||||||||
Resteasy运行瓶颈测试 | 无法测试,800线程,300次循环无错误 | 效率高于Jersey,内存消耗也大于Jersey | ||||||||
Resteasy第一次资源消耗测试 | 100 | 0 | 300 | 67 | 1 | 7870 | 713.3 | 505 | 并未达到极限,与更多线程的吞吐量极限差距较大,最大到1400 | |
Resteasy第二次资源消耗测试 | 100 | 0 | 300 | 97 | 1 | 9288 | 804.9 | 569.9 | ||
Resteasy第三次资源消耗测试 | 100 | 0 | 300 | 96 | 1 | 11398 | 808.2 | 572.2 | ||
Restlet get 测试 | ||||||||||
Restlet运行瓶颈测试 | 100 | 0 | 100 | 性能最差的实现 | ||||||
Restlet第一次资源消耗测试 | 80 | 0 | 100 | 488 | 6 | 8619 | 148.3 | 221.7 | ||
Restlet第二次资源消耗测试 | 80 | 0 | 100 | 557 | 6 | 7815 | 131.2 | 196.2 | ||
Restlet第三次资源消耗测试 | 80 | 0 | 100 | 558 | 6 | 9562 | 130.7 | 195.4 | ||
稳定性测试 | ||||||||||
cxf稳定性测试 | 50 | 1小时以上 | 239 | 1 | 8482 | 207.8 | 67.8 | |||
jersey 稳定性测试 | 50 | 0 | 1小时以上 | 37 | 1 | 10536 | 1052.5 | 743.1 | ||
Resteasy稳定性测试 | 50 | 0 | 1小时以上 | 41 | 1 | 10381 | 1170.8 | 829 | ||
Restlet稳定性测试 | 50 | 0 | 1小时以上 | 342 | 6 | 13967 | 145.6 | 217.7 | ||
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论