- Multi-server, Multi-IP-address, Multi-Protocol support
- Scripting Language for tests scripts
- Telemetry Dashboarding
- Tiny Size
- IANA/BSD: 49152 — 65535 = C16383
- Linux: 32768 — 61000 = C28232
- Maximum per IP address: 1024 — 65535 = C64511
- https://gist.github.com/tombigel/d503800a282fcadbee14b537735d202c
- https://news.ycombinator.com/item?id=2288301
sudo sysctl -w net.inet.ip.portrange.first=1024sudo sysctl -w net.inet.ip.portrange.hifirst=1024
As example we run CHAT application which depends on cowboy, n2o, kvs, syn, asn1.
The size of CHAT is 100 LOC.
$ git clone https://github.com/o7/chat && cd chat
$ mix deps.get
$ iex -S mixBench applicatioin is using gun as WebSocket client.
The size of BENCH is 100 LOC.
$ git clone https://github.com/o7/bench && cd bench
$ mix deps.get
$ iex -S mix$ lsof -Pn -i4 | grep "8042 " | grep ESTABLISHED | wc -l
50000iex(2)> send :n2o_pi.pid(:caching,"Bench 50000"), {:send_msg, "AUTH maxim"}
"Send \"Bench 50000\""
{:send_msg, "AUTH maxim"}
iex(3)> "Income {:text, \"USER maxim\"}"- Georgi Spasov
- Maxim Sokhatsky