I am setting up a development server and want to set it up to serve ASP.NET pages using Mono.  I am planning on using Cherokee and Mono (http://www.cherokee-project.com/doc/cookbook_mono.html) and wondered if anyone had done any performance testing comparing the Unix based stack to the Windows based.
Has anyone got any performance numbers comparing IIS and .NET to Cherokee and Mono?
performance;mono;.net;asp.net
When testing Mono/Linux vs .NET/Windows workloads, you have to remember that there is more at play than just the runtime environment.There are areas in which Linux performs better than Windows (Most IO and network operations tend to be faster for comparable C programs).   At the same time, .NET has a more advanced garbage collector and a more advanced JIT compiler.When it comes to the class libraries, it really depends on what code paths you are using.   As JacksonH said on a previous post, you can hit code paths that have been optimized in one implementation, but not on the other, and viceversa.   On ASP.NET workloads you have to remember that the default setup will route all incoming requests to a single worker process, mod_mono and Cherokee use a similar approach:Many HTTP server to one mod-mono-server http://mono-project.com/files/c/cc/Modmono-basic-setup.PNGAt least with Apache we support a mechanism where you can divide application workloads across multiple workers, which helps under high loads as it avoids any in-process locking and gives each worker a whole thread pool to work from:Routing requests to different ASP.NET hosts with mod_mono http://mono-project.com/files/9/9b/Modmono-multiple-servers.PNGThe details on how to configure this setup are available here:http://mono-project.com/Mod_mono