因为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扩展需要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
最近在折腾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经常出现卡死的现象,页面响应缓慢,基本无法操作,只能重启activemq解决。
之前好好的,最近怎么老是出现这种问题?难道是消息量增加导致的。
后来在故障发生的时间段看了下activemq的日志,发现有以下错误:java.lang.OutOfMemoryError: PermGen space
网上查到都有类似的情况,但不是activemq,都是tomcat、jboss类似,不过都是java的应用,解决方法应该类似。主要就是因为Perm内存不足,默认是64M。