标签归档:mono

在生产环境下,MONO与.NET Framework的性能差别。

上个月公司项目需要,在腾讯社区开放平台部署了基于mono的腾讯校友应用“公务员考试”。经过一周的观察,发现问题非常大。

2月18日到2月24日的平均值在70.91%。而2月23日-3月1日平均值在76.61%。占用的CPU非常高。在访问用户数不高的情况下,单是MONO的守护进程就占用了75.0%的CPU。

生产环境上是用Apache+mod_mono来做WEB站的,总的来看,对于WEB负载,MONO的情况并不理想。

一次艰难的mono环境部署

继上篇文章《Mono的兼容性问题》之后,现在总结一下我在suse 10中部署mono环境遇到的一些问题及其处理办法。

腾讯社区开放平台提供的体验区的服务器环境是这样的:Linux version 2.6.16.60 (gcc version 4.1.2 20070115 (SUSE Linux))

这个Linux内核的版本号应该是SLES(SUSE Linux Enterprise Server 10 SP2)的操作系统。mono原来的版本号是1.2.2,而我们需要2.8.2的mono。腾讯的服务器是没有配置dns解析功能的,所以不能直接用yast2来通过更新源来升级mono;对于可以用yast2安装的,可以参考我的《在openSUSE中部署基于apache的mono环境》。而用rpm手工安装,太多的程序依赖处理起来很麻烦,只好用通过编译mono源码的方式来安装了。

在MONO 2.8.2中遇到的一些兼容性问题

最近公司的一个项目因为要接入腾讯开放平台,需要转移到mono环境中,在做mono兼容性调整的时候遇到了一些问题,记录下来跟大家分享一下。

总的说来,mono整体的兼容性是非常不错的,在linux中跑起来很流畅,mono 2.8.2已经不再是玩具了。关于mono,园子里的geffzhang有很深入的研究,有兴趣的同学可以去看看他的博客。

在openSUSE中部署基于apache的mono环境

在openSUSE中配置基于apache2的Mono环境,因为openSUSE的安装DVD中已经包括了所需的所有安装包,所以整个过程非常简单。由于这篇文章是在openSUSE中写的,没安装截图软件,所以只贴出执行的命令和系统提示。菜鸟们照着本文来做就OK了。