好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

如何在windows Server 2008 R2下突破Rabbitmq的socket限制


利用Rabbitmq进行各类业务 系统 (如SAP、OA、EHR、KMS、访客系统、AD等)的集成和接口,已有很长一段时间了,初步建立了企业服务总线(ESB)。随着新业务系统的不断接入到ESB中,在实践中也发现了一些问题并总结了一些经验,下文主要介绍如何在 windows 下突破Rabbitmq的socket限制数,以便为需要使用的同学分享一些实际经验,后续将陆续分享一些技术经验。
  HdhCmsTest2cto测试数据  

1、 RabbitMQ_Limits文档说明

Status of node rabbit@MYSERVER ...

[{pid,6604},

 {running_applications,

  [{rabbitmq_management,"RabbitMQ Management Console","2.8.2"},

  {xmerl,"XML parser","1.3"},

  {rabbitmq_management_agent,"RabbitMQ Management Agent","2.8.2"},

  {amqp_client,"RabbitMQ AMQP Client","2.8.2"},

  {rabbit,"RabbitMQ","2.8.2"},

  {os_mon,"CPO  CXC 138 46","2.2.8"},

  {sasl,"SASL  CXC 138 11","2.2"},

  {rabbitmq_mochiweb,"RabbitMQ Mochiweb Embedding","2.8.2"},

  {webmachine,"webmachine","1.7.0-rmq2.8.2-hg"},

  {mochiweb,"MochiMedia Web Server","1.3-rmq2.8.2-git"},

  {inets,"INETS  CXC 138 49","5.8"},

  {mnesia,"MNESIA  CXC 138 12","4.6"},

  {stdlib,"ERTS  CXC 138 10","1.18"},

  {kernel,"ERTS  CXC 138 10","2.15"}]},

 {os,{win32,nt}},

 {erlang_version,"Erlang R15B (erts-5.9) [smp:4:4] [async-threads:30]\n"},

 {memory,

  [{total,22807872},

  {processes,8644230},

  {processes_used,8644210},

  {system,14163642},

  {atom,495069},

  {atom_used,485263},

  {binary,665136},

  {code,9611946},

  {ets,877468}]},

 {vm_memory_high_watermark,0.20002174609205853},

 {vm_memory_limit,858993459},

 {disk_free_limit,4294500352},

 {disk_free,26035458048},

 {file_descriptors,

  [{total_limit,924},

  {total_used,24},

  {sockets_used,22}]},

 {processes,[{limit,1048576},{used,388}]},

 {run_queue,0},

 {uptime,72329}]

1、 如何在windows下扩展sockets数量,提高吞吐量?   HdhCmsTest2cto测试数据  

(1)、需要在windows系统环境变量中设置erlang的ERL_MAX_PORTS

 

 

(2)重启RabbitMQ服务才能正式生效

 

 

(3)扩展后的最终效果如下:   HdhCmsTest2cto测试数据  

 

 

查看更多关于如何在windows Server 2008 R2下突破Rabbitmq的socket限制的详细内容...

  阅读:42次