Skip to content

Flood is a load simulator useful for automatic Comet/PUSH application stress-testing. It is asynchronous, event based and enables you to create JSON encoded test scenarios of arbitrary complexity involving tens of thousands of simulated users, no Erlang required!

License

Idorobots/flood

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

94 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Flood

Flood is a load simulator useful for automatic Comet/PUSH application stress-testing. It is asynchronous, event based and enables you to create JSON encoded test scenarios of arbitrary complexity involving tens of thousands of simulated users, no Erlang required!

Use cases

Some of the most common use cases that Flood might be helpful in testing are:

  • Massive, real-time, on-line chats,
  • Publisher-Subscriber channels,
  • Instant messaging.

However, Flood is general enough to test any event-based Comet application that uses the supported protocols.

Supported Protocols

Flood currently supports the Socket.IO protocol over WebSocket and XHR-polling transports with emphasis on Socket.IO event based communication. Flood also has some capabilities of using raw HTTP requests.

Dependencies

Flood uses several awesome libraries that are listed below. Since Flood is currently in development, no particular stable versions are required and by default the newest available versions are pulled in.

  • Lager - a logging framework, found here.
  • Ibrowse - an HTTP client, found here.
  • Folsom - a metrics system, found here.
  • JSONx - a fast JSON parser, found here.
  • Jesse - a JSON Schema validator, found here.
  • websocket_client - a WebSocket client, found here.

Running Flood

To run Flood simply run the start-dev.sh script and pass it the name of the Flood scenario to run:

$ ./start-dev.sh path/to/test.json

User guide

More about Flood and test scenarios can be found in the user guide located in the docs/ directory.

About

Flood is a load simulator useful for automatic Comet/PUSH application stress-testing. It is asynchronous, event based and enables you to create JSON encoded test scenarios of arbitrary complexity involving tens of thousands of simulated users, no Erlang required!

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Erlang 99.4%
  • Other 0.6%