passenger-ruby-server-sent-events-demo
passenger-ruby-server-sent-events-demo copied to clipboard
Phusion Passenger: HTML5 Server Side Events demo (Ruby version)
Phusion Passenger Server Sent Events demo
This app demonstrates Phusion Passenger's support for HTML5 Server Sent Events. Every second, the server sends us a random number. The app repeats sends at most 5 numbers per connection, but the browser keeps querying the server so the EventStream is infinite.
Getting started
bundle install
gem install passenger
passenger start
Then visit http://127.0.0.1:3000/
Compatibility
- This app uses plain Rack, and thus is framework agnostic.
- Server Sent Events works on Phusion Passenger for Apache, Phusion Passenger for Nginx and Phusion Passenger Standalone.
- At least version 4.0.5 of Phusion Passenger is required.
Multithreading and performance
Server Sent Events works great on both the open source variant of Phusion Passenger, as well as on Phusion Passenger Enterprise. For optimal performance, Phusion Passenger Enterprise with multithreading is recommended. You should use the following settings for enabling multithreading. The more concurrent users you have, the higher your thread count should be. As a rule, your thread count should be at least the number of Server Sent Event sessions you have.
Apache:
PassengerConcurrencyModel thread
PassengerThreadCount 64
Nginx:
passenger_concurrency_model thread
passenger_thread_count 64
Feedback
Please join the discussion forum if you have questions or feedback about this demo.