Linux is faster.
I’ve got lots of posts outlining how we run Windows servers for production rails apps…search the list for ‘bphogan’. I’ve also written some articles on how to do deployment on Windows servers.
You’ll need multiple dispatchers for a Rails application because of the single-threaded nature of the Rails framework. The Ruby interpreter is really slow on Windows, so you’ll probably need more dispatchers to handle the load.
For example… in my tests with my server (2x2ghz 2gb ram), I see roughly 6 to 10 requests per second (60-80k requests per 24 hour period). That same hardware gives me roughly 30 to 50 requests per second. So Windows works fine for low-traffic things, but won’t scale well for high-traffic sites. You can use Mongrel instances and load-balance using Apache 2.2 with mod_proxy_balance if you need to scale, but you’ll need a lot more instances of mongrel to process the requests. You can get by with only 2 to 4 on Linux
If you are forced to deploy on Windows, then you have to do it. If you have a choice, I’d go with Ubuntu because that’s super easy to set up and if you’re virtualizing your servers it’s a piece of cake. I’m currently proxying requests from a Windows web server to Apache running on Linux, all virtualized.
Feel free to contact me off list if you have more questions. I’d be happy to help.