如何在windows下突破Rabbitmq的socket限制 |
本文标签:windows,Rabbitmq,socket限制 利用Rabbitmq进行各类业务系统(如SAP、OA、EHR、KMS、访客系统、AD等)的集成和接口,已有很长一段时间了,初步建立了企业服务总线(ESB) 。随着新业务系统的不断接入到ESB中,在实践中也发现了一些问题并总结了一些经验,下文主要介绍如何在windows下突破Rabbitmq的socket限制数,以便为需要使用的同学分享一些实际经验,后续将陆续分享一些技术经验 。 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_limit,829}, 默认的限制sockets数为829 {sockets_used,22}]}, {processes,[{limit,1048576},{used,388}]}, {run_queue,0}, {uptime,72329}] 1、 如何在windows下扩展sockets数量,提高吞吐量? (1)、需要在windows系统环境变量中设置erlang的ERL_MAX_PORTS ![]() (2)重启RabbitMQ服务才能正式生效 ![]() (3)扩展后的最终效果如下: ![]() |