[AMQP] RabbitMQ 安装与测试

RabbitMQ 是AMQP标准协议下的另外一种实现,这篇blog记录了我的安装与测试。


安装步骤

1、  yum groupinstall Base "Development Tools" "Perl Support"  
2、  sudo yum install gcc glibc-devel make ncurses-devel openssl-devel autoconf
3、  yum install unixODBC unixODBC-devel
4、  wget http://erlang.org/download/   otp_src_R15B01 .tar.gz
     yum -y install ncurses-devel
5、   ./configure --prefix=   /usr/local/erlang    --without-javac
 

1-5 erlang have build successuflly, but the RabbitMQ have need the Erlang RPM
so take the step6 to fix

:hfqaqpidsvr02:root > rpm -ivh erlang-R12B-3.3.el5.kb.i386.rpm 
error: Failed dependencies:
        tk is needed by erlang-R12B-3.3.el5.kb.i386
yum install tk

6.:hfqaqpidsvr02:root > rpm -ivh erlang-R12B-3.3.el5.kb.i386.rpm 
Preparing...                ########################################### [100%]
   1:erlang                 ########################################### [100%]

7.:hfqaqpidsvr02:root > rpm -qa|grep erlang
erlang-R12B-3.3.el5.kb

8.:hfqaqpidsvr02:root > rpm -ivh rabbitmq-server-2.8.2-1.noarch.rpm 
Preparing...                ########################################### [100%]
   1:rabbitmq-server        ########################################### [100%]

9:hfqaqpidsvr02:root > rpm -qa|grep rabbit
rabbitmq-server-2.8.2-1

安装遇到的问题
1.down load Erlang otp_src_R15B01.tar.gz  http://www.erlang.org/download.html
2. install Erlang 
    a.yum groupinstall Base "Development Tools" "Perl Support" 
    b. ./configure --prefix=/usr/local/erlang 
Error
:
configure: error: No curses library functions found
configure: error: /bin/sh '/usr/local/xuguang/RabbitMq/erlang/otp_src_R15B01/erts/configure' failed for erts

RootCause:缺少ncurses安装包

           Fix:yum -y install ncurses-devel
   c. make make install
       出现了失败:
                 Fix :1. sudo yum install gcc glibc-devel make ncurses-devel openssl-devel autoconf
                         2. yum install unixODBC unixODBC-devel

   d.tar zxvf /usr/local/xuguang/RabbitMq/otp_doc_man_R15B01.tar.gz -C /usr/local/erlang/lib/erlang 

   e.have not 编辑.erlang文件

Yum 直接安装:需要加到 yum 仓库中 wget -O /etc/yum.repos.d/epel-erlang.repo http://repos.fedorapeople.org/repos/peter/erlang/epel-erlang.repo

3.rpm --import http://www.rabbitmq.com/rabbitmq-signing-key-public.asc
4.rpm -ivh rabbitmq-server-2.8.2-1.noarch.rpm
  error: Failed dependencies:
        erlang >= R12B-3 is needed by rabbitmq-server-2.8.2-1.noarch

启动
: hfqaqpidsvr02:root > service rabbitmq-server start
Starting rabbitmq-server: SUCCESS
rabbitmq-server.
:hfqaqpidsvr02:root > service rabbitmq-server status
[{pid,11575},
 {running_applications,[{rabbit,"RabbitMQ","2.8.2"},
                        {mnesia,"MNESIA  CXC 138 12","4.4.3"},
                        {os_mon,"CPO  CXC 138 46","2.1.6"},
                        {sasl,"SASL  CXC 138 11","2.1.5.3"},
                        {stdlib,"ERTS  CXC 138 10","1.15.3"},
                        {kernel,"ERTS  CXC 138 10","2.12.3"}]},
 {os,{unix,linux}},
 {erlang_version,"Erlang (BEAM) emulator version 5.6.3 [source] [smp:2] [async-threads:30] [hipe] [kernel-poll:true]\n"},
 {memory,[{total,12641669},
          {processes,5051576},
          {processes_used,5049080},
          {system,7590093},
          {atom,706785},
          {atom_used,687708},
          {binary,29761},
          {code,5947749},
          {ets,352708}]},
 {vm_memory_high_watermark,0.20521283045107527},
 {vm_memory_limit,1717986918},
 {disk_free_limit,8371732480},
 {disk_free,14864244736},
 {file_descriptors,[{total_limit,924},
                    {total_used,3},
                    {sockets_limit,829},
                    {sockets_used,1}]},
 {processes,[{limit,1048576},{used,116}]},
 {run_queue,0},
 {uptime,11}]
...done.

对于cluster启动与针对集群的测试这里就不描述了。

性能测试

Testenv

1.Broker : 1 VM 2 cpu 8G memory

2.Sender : run java command /usr/bin/java -classpathcommons-io-1.2.jar:commons-cli-1.1.jar:rabbitmq-client.jar:. ConcurrencySend -c100 -n 100(same as QPID C++ Tool)

3.Receiver: run java command /usr/bin/java -classpathcommons-io-1.2.jar:commons-cli-1.1.jar:rabbitmq-client.jar:. SimpleConsumer>receive.result

 

TestResult

 

1.    SenderMessage 10000  Cost 3.408s (it include the thread creat and join time) sowe can define the Send request >=2873 request/s

SendMessage Body: Xuguang Test Start TimeTue Jun 12 05:11:30 GMT 2012

SendMessage Body: Xuguang Test Start TimeTue Jun 12 05:11:30 GMT 2012

SendMessage Body: Xuguang Test Start TimeTue Jun 12 05:11:30 GMT 2012

SenderCost Time3408ms

2.    ReceiveMessage :total receive 10000 and Cost time more than 3s so we can defineReceiver request <=3333request/s

wdhf1wco001:root >grep "Message Receive" ./receive.result -wc

10000

First :messageMessageReceive TimeTue Jun 12 05:19:55 GMT 2012Xuguang Test Start TimeTue Jun 1205:19:55 GMT 2012

Last:Message ReceiveTimeTue Jun 12 05:19:58 GMT 2012Xuguang Test Start TimeTue Jun 12 05:19:58 GMT2012


3.    Broker(10.224.57.130)

CPU


Memory



AttachMent Is Rabbitmq compare with QPID





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值