Skip to content

bartekgorny/mass-connections-test-toolset

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A simple test toolbox for testing large numbers of TCP connections.

The server is based on MongooseIM TCP listener, with some simplifications.
It is just an "echo server". Clients establish connections, each connection
sending a "hey" message every minute or so.

The way to use it is:
1. Start dummysv on one EC2 instance
2. Start dummymonitor on another EC2 instance, in foreground
3. Create a launch template to start client EC2 instances, putting contents of user_data.sh as instance user data (startup code)
4. Run monmon:print() on monitor console to see what is going on
5. To clean up, terminate all client instances (tagged role:client, you may use wipe_ctest.yml playbook), restart dummysv, run monmon:reset() on monitor

Server and monitor exist on AWS (named testmonitor and testsrv), there also is a launch template connection_test_client.
Limits on server are set using lim.yml playbook, which is an exact copy from scalability test toolset.

If you modify server or monitor code, just run rebar3 compile in a respective directory and restart.

If you want to modify client code, do it on test server and then run ./deploy.sh in dummyclient directory.

Alternative, ranch-based server - dummyranch. Its sys.config determines whether we use echo_protocol, which listens in passive mode, or echo_protocol_once which does {active, once} the way mongoose listener does.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published