Weighing less than 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.
We have started the development of sprout, a simple CMS; based on top of rupy and memory. If you want a real-world example of rupy in action try this out!