Extend the dummy RabbitMQ server to support a few more features -
this was useful in my testing so we could point a real RabbitMQ
client at the server (via amqpprox) to test many open connections
Support an async rabbitmq client (using lapin). I thought I'd be
able to directly use this to test a high (20k) number of connections.
In actual fact it seems like lapin internally wants to make a new
thread for every connection, so with a reasonable stack size there is
a pretty low limit on the maximum connections possible from a single
process - I was hitting tens of GB RAM usage from only a couple of thousand
connections.
I could be convinced to drop the second feature. I left it in because I thought
it might be useful to use if lapin changes.
This commit makes two changes:
Extend the dummy RabbitMQ server to support a few more features - this was useful in my testing so we could point a real RabbitMQ client at the server (via amqpprox) to test many open connections
Support an async rabbitmq client (using
lapin
). I thought I'd be able to directly use this to test a high (20k) number of connections. In actual fact it seems like lapin internally wants to make a new thread for every connection, so with a reasonable stack size there is a pretty low limit on the maximum connections possible from a single process - I was hitting tens of GB RAM usage from only a couple of thousand connections.I could be convinced to drop the second feature. I left it in because I thought it might be useful to use if lapin changes.