php通过stomp调用activemq

因为php的stomp扩展需要php5.2.2以上的版本,为了方便直接rpm安装了(之前用php5.4.6通过phpize的方法怎么也装不上不知道是不是版本兼容性问题)系统centos6.5 x64,所安装php版本为5.3.3,stomp版本为1.0.5

1、安装php和stomp扩展
yum install php php-devel php-pear openssl openssl-devel
pecl install stomp

继续阅读“php通过stomp调用activemq”

ACTIVEMQ测试工具(消费端和生产端)

最近在折腾activemq,苦于寻找测试其性能的工具,网上兜了一大圈,要么是要自己编译的还不一定能成功,要么步骤超级烦,最终找到了,竟然就是activemq自带的,哥我服了!

就在activemq安装目录下的example目录下,运行方法很简单,在该目录下:

1、运行消费者:ant consumer
2、运行生产者:ant producer

这也太简单了吧,但事实并没有。ant哪里冒出来的命令?
官方说明:Apache Ant,是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发。由Apache软件基金会所提供

所以,你先要装好ant才能运行上面的命令。ant需要java环境,所以java环境要装好;然后配好ant的环境变量,否则你只能全路径去运行ant命令了。

activemq默认的测试工具可以配置的,见build.xml,其中几个比较常用的参数如下:

<property name="url" value="tcp://localhost:61616" />   MQ服务器地址
<property name="subject" value="dearda" />   队列名
<property name="max" value="2000000" /> 每次启动后发送/接收的数量,完成这个数量之后自动结束
<property name="parallelThreads" value="1" />  每次进程数?
<property name="messageSize" value="1000000" /> 消息大小
<property name="sleepTime" value="0" /> 休眠时间,默认为0的话发送接收消息速度飞快,单位毫秒

有了这个工具,可以设置几百万条消息做压力测试,然后逐步调整heap、perm内存空间大小,慢慢调出最稳定最优的MQ配置。

Activemq报错java.lang.OutOfMemoryError: PermGen space解决方法

最近公司一台activemq经常出现卡死的现象,页面响应缓慢,基本无法操作,只能重启activemq解决。

之前好好的,最近怎么老是出现这种问题?难道是消息量增加导致的。

后来在故障发生的时间段看了下activemq的日志,发现有以下错误:java.lang.OutOfMemoryError: PermGen space

网上查到都有类似的情况,但不是activemq,都是tomcat、jboss类似,不过都是java的应用,解决方法应该类似。主要就是因为Perm内存不足,默认是64M。

继续阅读“Activemq报错java.lang.OutOfMemoryError: PermGen space解决方法”