这个话题很宽泛,如果说包含桌面计算机的话,*nix根本没有一点点胜算,还是限定一下吧,单指服务器应用。

*nix指Linux、Unix以及Unix的变种,比如FreeBSD、OpenBSD、NetBSD等等,也可以把Solaris带进来,没所谓的……

首先我们要假定一个前提,就是在硬件不出故障的情况下,这个虽然废话,但是很多文章作对比都忽视了这个因素。

首先,我在IDC行业创业是从2001年开始的,自建3线机房也都是2009年的事情了,管理、维护各种DIY或者品牌服务器至少几千台了,用户规模从一个小网站到某个金融交易所全都有,我从90年代开始玩Linux的,2004年开始玩Unix系统,包括几个BSD和Solaris等,所以我这里的数据还是有说服力的。从安全、稳定、性能以及易用几个方面来分析一下吧。

安全,这个是很多玩Linux的人喜欢诟病Windows的理由之一,只要提起Windows就要摆出一副不屑的表情,然后说Windows不安全,说网络安全是多么重要。这里要先纠正一个概念,网络安全是信息安全的一个子集,信息安全包含一二十个领域,网络安全是一个很小的范畴,而且网络安全一般指底层通信层面,跟操作系统没一毛钱关系的。ok,让我们来逐个击破。说Windows漏洞多是吧,请自己去看看漏洞公布列表,Windows的漏洞数量从未排到前列,反而一直是这种伪高手认为安全的Linux名列前茅,呵呵,事实胜于雄辩吧?

这里我也说一下自己对漏洞的看法。有漏洞很正常,因为软件在编写的时候只能适用于当下环境,又因为软件是运行在操作系统之上的,所以当软件运行的周边环境发生变化,或者遇到其他软件的干涉,那么这个软件的运行就可能会产生异常,这种异常有可能会构成漏洞。但是这个事情的重点是环境变化了,而软件自身先天缺陷是比较少的。比如说,因为Windows足够易用,所以在服务器上面装很多软件和小工具的人不在少数,而这个现象就很容易导致系统异常,举个例子,windows上面最出名的编辑器UltraEdit 32,同样是基于安全的理由,相信合格的windows管理员都会在服务器上安装这个软件,这样对文件进行编辑的时候不会产生不可预知的风险,但是呢,Linux上面就没有这么好用的编辑器,vi或者nano这样的和记事本是一个档次的,类似的软件很多,那么装的软件多了,稳定性和安全性以及性能自然会下降,这个层面来讲,任何操作系统都是一样的。

然后说说windows常见的安全防范思路吧。因为windows是一个商业软件,微软理想中的架构是主域控制器、副控制器、加上若干活动目录、树林什么什么的,再加上若干接点,还有统一共享存储什么的,这是一个很庞大的体系,虽然我们用不上,但是系统为了实现这个架构,在底层打开了很多系统服务什么的,比如rpc、winrm这类的,我们用不上的话那就用防火墙封掉这类端口,安全控制的思路就是最小权限优先,比如你只是挂机的话,哪怕浑身是漏洞,只要防火墙不开,谁也拿你没办法的,漏洞本身要想被使用,也是有运行环境的,黑客根本碰不到你,那就不能拿你怎么样。这方面反而显得*nix比较弱,因为windows本身是设计为集群运行的,*nix设计的是单机运行。

 

然后说说稳定吧。windows因为易用,所以很多人忍不住要折腾,比如我。我自己的做法是生产环境剥离出去,不装任何跟生产无关的软件,然后折腾的机器单独抽出来两台,随便折腾,不好用了直接还原一下就好。这样情况下根本没什么稳定性问题,可能出乎很多人预料的是,那个金融交易所的用户服务器端全都是windows,只有一个可能是交易终端的机器是linux的,他的6个机柜,100多台服务器运行一年没出过问题的,连死机都没有过,当然小吹嘘一下,我是给他们的管理员上过课的,什么可以做什么不可以做都是跟他们讲好的。所以你说windows稳定么?

 

接着说性能。最常见的应用就是跑个网站吧,两种系统同样可以用的就是php和mysql了,不同的web服务器是iis和apache,我曾经详细做过一次测试,选了常见的五六种linux和两个bsd系统进行对比,php和mysql版本完全一致,这样的环境下,windows性能比linux和bsd高出50%之多,可能又要让很多人郁闷了,呵呵。而且纯静态页面的话,iis的性能比apache高出很多倍,基本没法估计,iis单机硬抗20000并发请求是没压力的,apache能上200就不错,反复优化配置也达不到1000的,不断的崩溃,根本没有可比性。更让人掉眼镜的是,linux比bsd效率高不少,呵呵。这个事情其实很好想,iis本身是内核态的,apache是用户态,本身这就有个很大的差距,所以单纯跑网站的人来讲,apache+linux确实没什么优势可讲。

 

最后是易用性了,这个不打算说了,因为实在没必要,有正常思维的人都懂的。

 

来个结论吧。这篇文章的内容是有失偏颇的,因为我的用户群大部分都是跑网站的,少部分是oa、crm或者金融交易这样的,所以针对这部分用户群来讲,windows是很适合的操作系统,而linux的整体成本其实很高,记住一句话:免费的是最贵的。如果说你运行一个软件或者数据库或者跑网站的话,那么这两种操作系统都可以运行几年不重启不死机什么的,这也是我这里的数据之一,没什么区别的。

最后呢,IT人的特性之一就是喜欢贬低他人来提高自己,那我也照做一次吧。很多人想当然的认为用了linux就安全就稳定就高效,这本身是个笑话,也是个谎话,地球上没有这么好的事(OpenBSD例外),人云亦云对提高自己没有一毛钱帮助的,自己做过对比测试,才知道什么是真的。

作者 听涛

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注