在生产环境下,MONO与.NET Framework的性能差别。
上个月公司项目需要,在腾讯社区开放平台部署了基于mono的腾讯校友应用“公务员考试”。经过一周的观察,发现问题非常大。
我们来看mono在腾讯服务器上的CPU报表。
2月18日到2月24日的平均值在70.91%。而2月23日-3月1日平均值在76.61%。占用的CPU非常高。
另一份基本相同的代码部署在Windows服务器上,我们看这台服务器的CPU使用率。
这台服务器除了这个项目外,还负载了其它的Web项目。从报表反映的情况来看,运行状态非常健康。
这两台服务器的配置分别是:
Tencent:CPU-Xeon E5506*2(2.13GHZ),内存-7G,OS-Linux 2.6(suse),MONO2.8.2
Windows:CPU-Xeon E5420*4(2.50GHZ),内存-4G,OS-Windows Server 2003,.NET Framework。
在服务器的配置上没有办法做直接的对比,附上Windows服务器,只是想从一个侧面来说明项目代码并不复杂,系统需要处理的计划量并不多。
在访问用户数不高的情况下,单是MONO的守护进程就占用了75.0%的CPU。
生产环境上是用Apache+mod_mono来做WEB站的,总的来看,对于WEB负载,MONO的情况并不理想。
关注更多相关内容,请移步: http://blog.moozi.net/