Load testing for Server Sent Event streams (or other HTTP connections that deliver information in chunks) using Play Framework 2.1 -- this project needs an upgrade to the latest Play version. Anyone interested in submitting a PULL REQUEST?
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
conf heartbeat; reactivemongo plugin; log May 17, 2013
public heartbeat; reactivemongo plugin; log May 17, 2013



This is a web application using Play Framework for load testing Server Sent Events (SSE) streams. It will establish concurrent connections to a server and measure and display the combined throughput and number of chunks received per second. The results will then be shown using animated bar charts. Ramping can be used to add a specified amount of additional connections at the specified time interval.

Internally, Akka actors are used to handle the connections and Concurrent.broadcast from Play Iteratee API is used to deliver the information into the Server Sent Events (SSE) stream.


You can see this application in action. I use it to put a constant load of a few hundred concurrent client connections on my BirdWatch application.

Please Check out my Blog for more information about this project.

###Setup There is not much to the setup if you have a working installation of Play Framework on your computer. All you need to do is play run in your shell or play "run 9001" for example if you are already using port 9000 for the application you want to test. Then you need to open http://localhost:9001, or whatever port you chose for this application.


Licensed under the Apache License, Version 2.0 (the "License"); you may not use this project except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright © 2013 Matthias Nehlsen.