Weighing around 50KB, rupy is probably the smallest Java NIO application server in the world.
Rupy is inherently non-blocking asynchronous, which makes it the ideal candidate for high concurrency real-time applications pushing dynamic data.
Tested with acme, rupy performs on average ~1500 requests per second. To put that figure in perspective; acme doesn't use keep-alive, so that means 1500 unique TCP connections serving dynamic content per second! Thanks to NIO and an event queue to avoid selector trashing, this figure degrades gracefully under high concurrency.
If you want a real-world example of rupy in action head over to sprout; a simple blogger.
| Features | Status Codes | Headers |
| Non-Blocking IO | 200 OK | X-Forwarded-For |
| Asynchronous Push | 302 Found | Set-Cookie |
| Chunked Transfer | 304 Not Modified | Cookie |
| Session Timeout | 404 Not Found | Expires |
| Hot-Deployment | 500 Internal Server Error | |
| Filter Chain |
