Linux爱好者▲的性能调优的思路,Linux

转自:Linux云计算架构
Linux爱好者▲的性能调优的思路,Linux
文章图片
Linux操作系统是一个开源产品 , 也是一个开源软件的实践和应用平台 , 在这个平台下有无数的开源软件支撑 , 我们常见的apache、tomcat、mysql等 。
开源软件的最大理念是自由、开放 , 那么Linux作为一个开源平台 , 最终要实现的是通过这些开源软件的支持 , 以最低廉的成本 , 达到应用最优的性能 。 因此 , 谈到性能问题 , 主要实现的是Linux操作系统和应用程序的最佳结合 。
01性能问题综述
系统的性能是指操作系统完成任务的有效性、稳定性和响应速度 。
Linux系统管理员可能经常会遇到系统不稳定、响应速度慢等问题 , 例如在Linux上搭建了一个web服务 , 经常出现网页无法打开、打开速度慢等现象 , 而遇到这些问题 , 就有人会抱怨Linux系统不好 , 其实这些都是表面现象 。
操作系统完成一个任务时 , 与系统自身设置、网络拓朴结构、路由设备、路由策略、接入设备、物理线路等多个方面都密切相关 , 任何一个环节出现问题 , 都会影响整个系统的性能 。
因此当Linux应用出现问题时 , 应当从应用程序、操作系统、服务器硬件、网络环境等方面综合排查 , 定位问题出现在哪个部分 , 然后集中解决 。
在应用程序、操作系统、服务器硬件、网络环境等方面 , 影响性能最大的是应用程序和操作系统两个方面 , 因为这两个方面出现的问题不易察觉 , 隐蔽性很强 。 而硬件、网络方面只要出现问题 , 一般都能马上定位 。
Linux爱好者▲的性能调优的思路,Linux
文章图片
下面主要讲解操作系统方面的性能调优思路 , 应用程序方面需要具体问题具体对待 。
以下从影响Linux性能的因素、分析性能涉及的人员、系统性能优化工具、系统性能评价标准四个方面介绍优化Linux的一般思路和方法 。
02影响Linux性能的因素
2.1系统硬件资源
(1)CPU
CPU是操作系统稳定运行的根本 , CPU的速度与性能在很大程度上决定了系统整体的性能 , 因此 , CPU数量越多、主频越高 , 服务器性能也就相对越好 。 但事实并非完全如此 。
目前大部分CPU在同一时间内只能运行一个线程 , 超线程的处理器可以在同一时间运行多个线程 , 因此 , 可以利用处理器的超线程特性提高系统性能 。 在Linux系统下 , 只有运行SMP内核才能支持超线程 , 但是 , 安装的CPU数量越多 , 从超线程获得的性能方面的提高就越少 。
另外 , Linux内核会把多核的处理器当作多个单独的CPU来识别 , 例如两个4核的CPU , 在Lnux系统下会被当作8个单核CPU 。 但是从性能角度来讲 , 两个4核的CPU和8个单核的CPU并不完全等价 , 根据权威部门得出的测试结论 , 前者的整体性能要比后者低25%~30% 。
可能出现CPU瓶颈的应用有db服务器、动态Web服务器等 , 对于这类应用 , 要把CPU的配置和性能放在主要位置 。
(2)内存
内存的大小也是影响Linux性能的一个重要的因素 , 内存太小 , 系统进程将被阻塞 , 应用也将变得缓慢 , 甚至失去响应;内存太大 , 导致资源浪费 。
Linux系统采用了物理内存和虚拟内存两种方式 , 虚拟内存虽然可以缓解物理内存的不足 , 但是占用过多的虚拟内存 , 应用程序的性能将明显下降 , 要保证应用程序的高性能运行 , 物理内存一定要足够大;但是过大的物理内存 , 会造成内存资源浪费 , 例如 , 在一个32位处理器的Linux操作系统上 , 超过8GB的物理内存都将被浪费 。
Linux爱好者▲的性能调优的思路,Linux
文章图片
因此 , 要使用更大的内存 , 建议安装64位的操作系统 , 同时开启Linux的大内存内核支持 。
由于处理器寻址范围的限制 , 在32位Linux操作系统上 , 应用程序单个进程最大只能使用4GB的内存 , 这样以来 , 即使系统有更大的内存 , 应用程序也无法“享”用 , 解决的办法就是使用64位处理器 , 安装64位操作系统 。 在64位操作系统下 , 可以满足所有应用程序对内存的使用需求 , 几乎没有限制 。