What is the performance like when using Apache mod_mono compared to IIS 6 or 7? Does the mod-mono-server that receives the requests from mod_mono have the ability to thread incoming requests or does it act more like a CGI program?
I also see that the mono proj开发者_JAVA技巧ect comes with a web server bundled with it. Is this web server considered a development environment or something that can be used for production?
For the best performance I'm doing away with apache+mod_mono and using mono FastCGI with nginx with nginx handling all the static files. Here's a live preview of my open source web services framework running mono fastcgi on nginx and CentOS.
Simple benchmarks on my computer put a hello world MVC framework application on mod_mono around 3000 to 4000 requests per second. Pretty much par with Java.
Unfortunately this doesn't matter. Check out this presentation of somebody benchmarking a more realistic application on IIS and SQL Server: http://www.slideshare.net/rudib/aspnet-mvc-performance
Without optimizing anything he got 8 requests per second. My current Catalyst project (in Perl) gets about 45.
After they optimized a few things there were able to get to 400 req/s. I think mod_mono will be able to handle that no problem.
It was told that mod_mono is based on Fast CGI.
Besides, it is meaningless to compare Apache+mod_mono to IIS. What about the hardware/OS/other factors?
You can always achieve good performance by planning necessary hardware and so on. This is web, which is highly scalable.
mod_mono is a wrapper that uses a unix socket to communicate with the mod-mono-server, so in that sense it's a little like FastCGI. If you're concerned about one server process handling all mono work, you can (with a little work) run multiple instances of the server to handle different web applications (you can even run different web apps on different versions of mono).
However, as others have posted, you can get very good performance with it, and the issues affecting performance are unlikely to be just down to the fact you're using mono.
精彩评论