利用Rabbitmq进行各类业务系统(如SAP OA EHR KMS 访客系统 AD等)的集成和接口 已有很长一段时间了 初步建立了企业服务总线(ESB) 随着新业务系统的不断接入到ESB中 在实践中也发现了一些问题并总结了一些经验 下文主要介绍如何在windows下突破Rabbitmq的socket限制数 以便为需要使用的同学分享一些实际经验 后续将陆续分享一些技术经验
RabbitMQ_Limits文档说明
Status of node rabbit@MYSERVER
[{pid }
{running_applications
[{rabbitmq_management RabbitMQ Management Console }
{xmerl XML parser }
{rabbitmq_management_agent RabbitMQ Management Agent }
{amqp_client RabbitMQ AMQP Client }
{rabbit RabbitMQ }
{os_mon CPO CXC }
{sasl SASL CXC }
{rabbitmq_mochiweb RabbitMQ Mochiweb Embedding }
{webmachine webmachine rmq hg }
{mochiweb MochiMedia Web Server rmq git }
{inets INETS CXC }
{mnesia MNESIA CXC }
{stdlib ERTS CXC }
{kernel ERTS CXC }]}
{os {win nt}}
{erlang_version Erlang R B (erts ) [smp: : ] [async threads: ]\n }
{memory
[{total }
{processes }
{processes_used }
{system }
{atom }
{atom_used }
{binary }
{code }
{ets }]}
{vm_memory_high_watermark }
{vm_memory_limit }
{disk_free_limit }
{disk_free }
{file_descriptors
[{total_limit }
{total_used }
{sockets_limit } 默认的限制sockets数为
{sockets_used }]}
{processes [{limit } {used }]}
{run_queue }
{uptime }]
如何在windows下扩展sockets数量 提高吞吐量?
( ) 需要在windows系统环境变量中设置erlang的ERL_MAX_PORTS
( )重启RabbitMQ服务才能正式生效
( )扩展后的最终效果如下