在Linux上使用.NET / Mono来提供高容量的Web服务,这是一个好主意吗?

时间:2010-09-01 15:34:53

标签: c# linux mono

我们拥有一项网络服务,可以提供相当高的流量,帮助您根据收到的电子邮件找出您首选的联系人。

此服务最初在C#/.NET中实现,以便利用我们已经在Windows主机上运行的一些代码。此服务不使用ASP.NET,但它是使用.NET的基本HTTP侦听器的简单C#服务。

该服务正常运行,但偶尔MONO将完全阻止并停止响应任何请求。性能还可以,但不是很好,我们花了很多时间来确定MONO CLR和Windows CLR之间的区别。我必须承认,我来自Java背景,似乎服务器端的生态系统在Java方面比Linux上的MONO生态系统更大。

所以现在,我正在寻找关于在Linux上使用Mono来为高流量Web服务提供服务的示例和个人经验。

2 个答案:

答案 0 :(得分:3)

不知道它是否有助于解决您的问题,但您可以尝试在mono 2.8附带的new garbage collector上运行您的网络服务。

答案 1 :(得分:0)

对于高容量性能调整,您通常需要完全考虑以下部分

  • 操作系统设置(特定于TCP / IP)
  • 网络服务器级别设置
  • 框架级别设置(特定于Mono)

与@ yojimbo87描述的一样,使用最新的Mono构建可以帮助从框架级别突破性能。但是您还需要了解操作系统和Web服务器,看看是否还有其他调整方法。