We have been using RABBITMQ to integrate and interface various business systems (such as SAP, OA, EHR, KMS, visitor systems, AD, etc.) for a long time, initially establishing an enterprise service bus (ESB). As the new business system continues to be connected to the ESB, some problems have been found in practice and some experience has been summarized below, which focuses on how to break the RABBITMQ socket limit under Windows, so as to share some practical experience for the students who need to use it, and to share some technical experience in the following years.
First, Rabbitmq_limits document description
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}, the default limit number of sockets is 829
{sockets_used,22}]},
{processes,[{limit,1048576},{used,388}]},
{run_queue,0},
{uptime,72329}]
1, how to expand the number of sockets under Windows, improve throughput?
(A), need to set the erl_max_ports of Erlang in Windows system environment variables
(B) Restart of RABBITMQ services to be formally effective
(C) The final effect after expansion is as follows:
Conclusion: Through the above steps, it can be solved!