- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Temporary Internet FilesActiveMQ测试记录
ActiveMQ测试记录
编号:修订记录
版本编号 说明:如形成文件、变更内容和变更范围 日期 变更人 批准日期 批准人 1.0 文件起草 2010-3-15 李大凯 1.1
目 录
1. 测试背景 1
2. 测试内容 1
2.1 测试环境 1
2.2 测试过程 1
3. 测试总结 4
测试背景
此次测试主要针对于2011-03-03下午的MQ 讨论会中所提出的MQ应用中现存的问题而进行。此次会议中主要提出一下六个测试点:
前台经常异样断开连接,例如报Channel was inactive for too long.异常,需要重连;
对异常断开情况,需要重连,但对既有连接直接close,可能会造成服务器资源没有释放;
前台断开连接,服务器日志会报connection reset异常;
并发连接过多时,服务器报memory limit reached异常;
可能消息接收不全,会丢失;
JMS和MQ性能对比
本次测试中,主要针对1、2、5问题条进行测试,本文中会对该3条测试的情况进行记录和说明。
测试内容
测试环境
测试环境如下:
JDK版本:1.6.0_10
ActiveMQ 版本:
开发环境:MyEclipse 6.0.1
打包工具:Fat Jar
系统环境:客户端:Windows XP 服务器:
服务器:使用背景服务器 公网IP为: 222.35.56.27
客户端:天津研发部PC机 内网IP为:192.168.16.228
测试代码:见附件1
测试过程
测试一
描述:前台MQ连接经常异样断开,例如报Channel was inactive for too long.异常,需要重连。
测试目的:找到发生connection inactive for too long异常的原因。
用例一:
测试方法 调试模式启动一个接受端,将所有线程阻塞两分钟,之后取消阻塞。 测试结果 一分钟左右后,抛出:Channel was inactive for too long.异常,本地connection失效 用例二:
测试方法 调试模式启动一个接受端,将线程Thread [ActiveMQ Transport: tcp:///192.168.16.228:61616]阻塞两分钟,之后取消阻塞。 测试结果 一分钟左右后,抛出:Channel was inactive for too long.异常,本地connection失效 用例三:
测试方法 调试模式启动一个接受端,阻塞MQ Thread [ActiveMQ Transport: tcp:///192.168.16.228:61616]之外的其它线程一分钟,之后取消阻塞。 测试结果 阻塞时,停止对接受到的消息的打印;取消阻塞后恢复。 用例四:
测试方法 启动接收端后,拔掉网线,观看是否抛出Channel was inactive for too long.异常结果 测试结果 抛出connection reset异常,本地connection失效
测试二
描述:对异常断开情况,需要重连,但对既有连接直接close,可能会造成服务器资源没有释放。
测试目的:在频繁的创建连接、关闭连接及异常断开的情况下,服务器中的资源能否得到及时的释放
用例一:
测试方法 连续创建50个连接,不发送任何消息的情况下,直接执行connection.close()方法,退出程序 测试结果 服务器中所有connection都能及时被释放 用例二:
测试方法 连续创建50个连接,每个连接发送一条消息后,执行connection.close()方法,退出程序 测试结果 服务器中所有connection都能及时被释放 用例三:
测试方法 连续创建50个连接,每个连接发送一条消息消息后,执行connection.close()方法,同时启动两个接收端,持续接收消息,退出程序 测试结果 服务器中所有connection都能及时被释放
用例四:
测试方法 连续创建50个连接,每个连接发送一条消息消息后,不执行执行connection.close()方法,同时启动两个接收端,持续接收消息,退出程序 测试结果 服务器中少数连接未被及时释放,在3-5分钟之后全部被释放 用例五:
测试方法 创建一个连接,作为接收端开始消息监听,之后拔掉网线,退出程序 测试结果 服务器中的连接在3-5分钟后被释放 用例六:
测试方法 创建一个连接,不做任何操作,之后拔掉网线,退出程序 测试结果 服务器中的连接在3-5分钟后被释放
测试三
描述:前台断开连接,服务器日志会报connection reset异常。
测试目的:找到服务器端抛出connectio
文档评论(0)