简体   繁体   中英

Using .NET/Mono on Linux to serve a high volume web service, a good idea?

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 between 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.

不知道它是否有助于解决您的问题,但您可以尝试在带有新垃圾收集器的 mono 2.8上运行您的Web服务。

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.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM