We have a web service that does a fairly high volume of traffic that helps you figure out what are your preferred contacts based on the e-mails you receive.
This service was initially implemented in C# /.NET in order to leverage some code we already have running on Windows hosts. This service does not uses ASP.NET but it's a simple C# service using a base HTTP Listener from .NET.
The service is performing OK, but once in a while MONO will totally blocks and stop responding to any requests. The performance is OK, but not great and it seams that we spend a huge amount of time figuring the difference b开发者_如何学Goetween the MONO CLR and the Windows CLR. I must admit, I am coming from a Java background and it seems that the ecosystem on the server side is way larger on the Java side than the MONO ecosystem on Linux.
So for now, I am looking for examples and personal experiences around using Mono on Linux to server a high traffic web service.
Don't know if it will help to solve your problems, but you can try to run your web service on mono 2.8 which comes with new garbage collector.
For high volume performance tuning, you often need to consider the following pieces altogether
- operating system settings (TCP/IP specific)
- web server level settings
- framework level settings (Mono specific)
Like @yojimbo87 described, using the latest Mono build can help burst the performance from framework level. But you also need to learn about the OS and the web server to see if there are other tuning approaches.
精彩评论