这几天老是在折腾rhel和他的子孙们centos,oracle-linux,突然发现了一些深入的问题,可以帮助那些为了选择debian还是centos做自己的开发环境或者web服务器而苦恼的人,做个参考:
首先,我们知道在linux中有很多lsm安全模块,其中selinux和tomoyo是经常用的到(在freebsd我们可以开启trustbsd-mac)强制访问模块,其作用当然是限制root权限,增强系统安全,可是安全是有代价的,要安全少性能,我们可以查看 Phoronix 在 2009 年使用 Fedora 11 所做的横向比较
,再根据本人对内核的测试分析发现,在开启selinux或者tomoyo的情况下性能下降5%-10%之间,还有开启内核中的debug调试分析功能下降20%以上,当然不是所有性能都下降主要是在磁盘性能,数据库性能,web性能测试时!在debian中selinux是默认关闭的,在centos中默认是开启的,而且通过内核编译选项可以看出来centos中的调试,分析代码比debian内核更多,而且编译centos中可以看到所有的模块都是要经过gpg签名的,这点比debian来的安全,大大减少了非法模块的插入有效预防了rookit后门!(补充说明,如果你的内核打了Grescurity安全补丁则损失最少30%以上性能)
通过以上我个人认为:从安全上说 centos,rhel,oracle-linux > debian
从性能下降说也是 centos,rhel,oracle-linux > debian
其次,通过观察debain内核源码和centos内核源码大小,我们可以看到debian内核才62M,而centos内核则达到了82M 为什么呢?还是我先前一篇文章中
分析过的,debian是自由内核,里面去除了很多no-free固件驱动,功能代码,而centos
则是继承了rhel的特点,得到世界很多硬件厂商的权利支持,不管是free还是no-free的全部包含在内核源代码中,而且在虚拟化(kvm)部署中也是处于领导地位的,其中也不乏一些还来得及被debian,或者标准内核采纳的代码,这样就导致了:
硬件支持特别是虚拟化 centos,rhel,oracle-linux > debian(freebsd)
还有,一个就是通过编译内核我们发现,默认情况下,centos开启的内核
选项都是非常保守的,而debian则很时髦,有什么新玩意就上,比如debian开启了内存分配slub 内核尺寸优化Os而centos还是使用久经考验的slab 和 O2..........
默认内核配置性能测试 debian > centos,rhel,oracle-linux
最后我们来说说,他们各自的应用软件支持数量,从官方发布的安装dvd(只有一张3.4G)上可以看出centos rhel是专门来做服务器,vps来用的,包含的软件相对debain 安装dvd (8张dvd)来说是少只又少。我曾经就yum install nginx结果我失败了
我以为我打错。结果真的没有,要自己二外去加源,我知道有很多第三方的软件源可以使用,但是单从官方支持上说是很少了,这也表明了centos重要用途,还是以服务器为主,桌面勉强可以吧!而debian呢有4万多种软件,涵盖了开发,桌面,服务器软件,等等几乎你说能用到的所有软件都有,而且apt包管理也比yum强很多,以此,我个人判断:
开发方环境,通用性 debian >> centos,rhel,oracle-linux
好了来个总结吧,如果不是狂热的系统定制优化狂人,我的建议是:
1,如果你是开发者,和狂热的性能追求者或者是vps中的服务器请使用debian !
2,如果你是vps供应商,电子商务,使用了很多像hp,ibm等大品牌服务器,而且要求很高的稳定性,安全性,我建议你使用rhel家族,最少用10%左右的性能损失,不是很大的易用性损失,换来 安全稳定还是值得的!
好了,以上观点纯属个人意见,如果太菜请大家多多包涵,指正!!
分享到:
相关推荐
Debian与CentOS比较和一些坑 Debian与CentOS是两种流行的Linux发行版,它们之间有很多相似之处,也有很多不同之处。...本文通过对Debian和CentOS的比较,帮助读者更好地理解这两种Linux发行版的特点和差异。
CentOS游走在年轻与成熟之间,它比Ubuntu更注重安全性,你看他的CentOS5.0默认一装好就自带并打开防火墙就知道;而且有一个叫SELinux的东东在里面,让不同的程序之间权限有所限制,这也是我装CentOS一些软件经常莫名...
在IT行业中,数据库管理系统是核心组件之一,Oracle 11g作为一款强大的企业级数据库解决方案,深受广大企业和开发者的...然而,在实际操作中,仍需熟悉Oracle的安装原理和管理技巧,以便更好地维护和优化数据库系统。
### CentOS 64位系统安装永中Office...希望本文能帮助您顺利完成安装过程,并在未来的工作和学习中更好地利用这款优秀的办公软件。如果您有任何疑问或建议,欢迎访问美河学习在线(www.eimhe.com)获取更多帮助和支持。
对于新手而言,Ubuntu可能是更好的选择,尤其是对那些已经熟悉Ubuntu桌面版的用户。Ubuntu服务器的界面和工作流程与桌面版相似,降低了学习曲线。 5. **商业应用** 在商业环境中,CentOS更常被选用,因为它被认为...
- **适合低配置设备**:对于配置较低的计算机,LiveCD版能够更好地运行,而不会因为资源限制而导致性能问题。 - **灵活性**:虽然LiveCD版的功能较为有限,但它提供了足够的灵活性,让用户可以在没有安装系统的情况...
Apache SkyWalking 是一款开源的...通过在 CentOS 系统上安装和配置 9.7.0 版本,你可以更好地了解你的应用程序的健康状况,及时发现和解决问题,提升运维效率。记得定期更新到最新版本以获取最新的功能和安全修复。
安装完成后,别忘了安装VMware Tools,它能增强虚拟机性能,提供更好的图形支持和文件共享功能。在虚拟机中运行`sudo yum install open-vm-tools`命令即可安装VMware Tools。 总结来说,选择合适的服务器操作系统和...
首先,确保你的阿里云服务器已配置好CentOS 8环境。如果你尚未安装CentOS 8,可以使用以下命令进行安装: 1. 更新系统: ``` sudo yum update -y ``` 2. 安装EPEL仓库: ``` sudo dnf install epel-release -y ```...
集成分步调试开服的命令,可以更好的排错 本操作手册允许学习使用,请勿用于商业用途,如有多余,请与本人联系! 购买某云服务器,也可以使用本人的优惠券,,,算是对我的一个支持 同时你觉得好用,请帮忙star或者...
如果你重视长期稳定性、与RHEL的兼容性且成本敏感,那么CentOS可能是更好的选择。而如果你需要频繁的更新、桌面环境支持和用户友好的界面,Ubuntu则更适合你。在决定之前,最好根据实际工作负载和团队技能进行评估。
Linux安装教程,特别是针对...随着你对系统的熟悉,你还可以尝试更新到更现代的版本,如CentOS 8或RHEL(Red Hat Enterprise Linux),以及其他的Linux发行版,如Ubuntu、Debian等。祝你在Linux的世界里游刃有余!
与传统的Web服务器相比,Lighttpd 能够使用更少的内存,并且具有更低的CPU利用率。这些特性使得Lighttpd 成为了处理高并发请求的理想选择。此外,Lighttpd 支持许多高级特性,如FastCGI、CGI、认证、输出压缩、URL...
对于初学者来说,了解和使用Linux VPS(Virtual Private Server)是一项重要的技能,尤其是当选择KVM架构时,因为KVM提供了更好的性能和全硬件虚拟化。在本教程中,我们将详细讲解如何在KVM架构上通过VNC(Virtual ...
【Apache2 for Linux:搭建与配置详解】 ...Apache2 for Linux不仅价格低廉,而且功能强大,稳定性好,支持多种编程语言和模块扩展,使得它...通过理解并掌握这些基本概念和操作,你可以更好地管理和优化你的Web服务器。
因此,如果条件允许,建议升级到64位操作系统并使用对应的64位浏览器以获取更好的性能和兼容性。 总的来说,尽管在CentOS这样的32位Linux环境中安装谷歌浏览器需要额外的步骤,但通过正确的方法,用户依然可以享受...
在Linux系统中,百度网盘是一款常见的云存储客户端,它允许用户方便地上传、下载和管理他们的文件。然而,有时在尝试启动...同时,理解基本的Linux软件管理和库文件原理也是很重要的,这有助于你更好地应对类似问题。
在Linux系统中安装Nginx是一项基础且重要的任务,尤其对于运维人员来说,理解这个过程中的每一个步骤和涉及的依赖包至关重要。...理解这些步骤可以帮助我们更好地管理和维护Nginx服务器,提高系统的稳定性和安全性。
在Linux环境中安装和使用InfluxDB,需要熟悉Linux的包管理器,理解InfluxDB的基本操作,以及掌握InfluxDB Studio的使用,这样能更好地管理和利用时间序列数据。在实际应用中,还应关注InfluxDB的性能优化、监控及...
在提供的压缩包`lex+yacc+gcc`中,可能包含了示例项目或者教程,用于帮助用户更好地理解和实践这三个工具的使用。解压后,可以按照文档或说明进行操作,亲自动手实践这些工具的使用,从而加深理解。