njthnet

Sun OpenMQ Topic消息收/发 —Tips

Story1 现象 项目需要采用JMS 消息中间件OpenMQ 来发送、接收一对多消息。前期需要进行对性能进行模拟测试,开始测试时发送端没有问题循环1000次发送Topic消息顺利结束,但是Topic接收端表现异常,间隔50个一次的接收消息进行处理,如果把1000个消息处理完成大概需要30分钟,更别说下面还要启用100个线程发送1000次了。 环境 3台JMS 消息中间件OpenMQ集群,Linux 1台消息发送端,Windows 1台消息接收端,  Windows 如图所示:   查看大图请点击这里 代码 发送端代码 (下载url)  接收端代码 (下载url) 需要的Jar包 经过几番测试,猜测问题多数是由于接收端与服务器端连接的配置而导致的,仔细检查发现多写了几行代码,接收端验证的部分,也就是说对于JMS的消息收发加上验证是对效率有影响的,去掉用户名、密码验证一切正常。 Story2 100个线程同时发送100个消息,一共10w个消息,运行到一半的时候出现 [29/Mar/2010:03:34:07 EDT] [B1089]: In low memory condition, Broker is attempting to free up resources [29/Mar/2010:03:34:07 EDT] [B1088]: Entering Memory State YELLOW from previous state GREEN  – allocated memory is 151214K, 80% of total memory used 显然在说内存不够。经过google以后证明我的想法是正确的,参考文档: http://docs.sun.com/app/docs/doc/819-4467/6n6k98bq2?l=zh_tw&a=view#aeokn http://docs.sun.com/app/docs/doc/819-4467/6n6k98bqa?l=zh_tw&a=view 加大运行内存,命令如下: nohup imqbrokerd -tty -name myBroker -port 6769 -cluster 172.16.2.214:6769,172.16.2.215:6769 -D"imq.cluster.masterbroker=172.16.2.215:6769" -vmargs "-Xms256m -Xmx1024m" & 话外音 1.可以用imqcmd metrics [...]

posted on 2010-03-29 17:28 njthnet 阅读(130) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航:
 

导航

<2025年7月>
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789

统计

留言簿

文章档案

新闻档案

搜索

最新评论