Skip to content

AnyCable-Go

AnyCable-Go Pro aims to bring AnyCable to the next level of efficient resources usage and developer experience happiness.

Read also AnyCable Goes Pro: Fast WebSockets for Ruby, at scale.

Memory usage

Pro version uses a different memory model under the hood, which gives you yet another 30-50% RAM usage reduction.

Here is the results of running websocket-bench broadcast and connect benchmarks and measuring RAM used:

versionbroadcast 5kconnect 10kconnect 15k
1.3.0-pro142MB280MB351MB
1.3.0-pro (w/o poll)*207MB343MB480MB
1.3.0217MB430MB613MB

* AnyCable-Go Pro uses epoll/kqueue to react on incoming messages by default. In most cases, that should work the same way as with non-Pro version; however, if you have a really high rate of incoming messages, you might want to fallback to the actor-per-connection model (you can do this by specifying --netpoll_enabled=false).

NOTE: Currently, using net polling is not compatible with WebSocket per-message compression (it's disabled even if you enabled it explicitly).

More features

Installation

Read our installation guide.