Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
lib
 
 
 
 
 
 
 
 
 
 
 
 
 
 

BENCH: Performance tool for distributed systems

Feartures

  • Multi-server, Multi-IP-address, Multi-Protocol support
  • Scripting Language for tests scripts
  • Telemetry Dashboarding
  • Tiny Size

Defaults and Limits

  • IANA/BSD: 49152 β€” 65535 = C16383
  • Linux: 32768 β€” 61000 = C28232
  • Maximum per IP address: 1024 β€” 65535 = C64511

Setup

Run Investigated Application

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 mix

Run Bench

Bench 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

Check connections and liveness

$ lsof -Pn -i4 | grep "8042 " | grep ESTABLISHED | wc -l
50000
iex(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\"}"

Credits

  • Georgi Spasov
  • Maxim Sokhatsky

About

πŸ’§ BENCH: performance tool for distributed systems

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published