14.7 影响Linux系统性能的因素有哪些?

简介: 评价 Linux 系统性能的好坏,大致可以从 Linux 完成任务的有效性、稳定性以及响应速度等方面进行考量。作为 Linux 系统管理员,可能经常会遇到系统不稳定、响应速度慢等问题。

评价 Linux 系统性能的好坏,大致可以从 Linux 完成任务的有效性、稳定性以及响应速度等方面进行考量。作为 Linux 系统管理员,可能经常会遇到系统不稳定、响应速度慢等问题。

例如,在 Linux 系统搭建了一个 Web 服务,就可能出现网页无法打开、打开速度慢等现象,而遇到这些问题时,有人可能会抱怨 Linux 系统不好,其实这些不过是表面现象。

要知道,操作系统在完成某个任务时,与系统自身设置、网络拓扑结构、路由设备、接入设备、物理线路等多个方面都密切相关,任何一个环节出现问题,都会影响整个系统的性能。

对于 Linux 系统来说,当运行应用程序出现问题时,要从应用程序本身、操作系统、服务器硬件和网络环境等方面综合排查,深度剖析问题出现在哪个部分,才能有针对性地解决。

那么,影响 Linux 系统性能的因素主要有哪些呢?

CPU

CPU 是操作系统稳定运行的根本,CPU 的速度与性能很大一部分决定了系统整体的性能,因此 CPU 数量越多、主频越高,服务器性能也就相对越好。

但亊实也并非完全如此,目前大部分 CPU 在同一时间内只能运行一个线程,超线程的处理器可以在同一时间运行多个线程,因而可以利用处理器的超线程特性提髙系统性能。

而在 Linux 系统下,只有运行 SMP 内核才能支持超线程,但是安装的 CPU 数量越多,从超线程获得的性能上的提高就越少。另外,Linux 内核会把多核的处理器当作多个单独的 CPU 来识别,例如两颗 4 核的 CPU 在 Linux 系统下会认为是 8 颗 CPU。

注意,从性能角度来讲,两颗 4 核的 CPU 和 8 颗单核的 CPU 并不完全等价,根据权威部门得出的测试结论,前者的整体性能要低于后者 25%〜30%。

在 Linux 系统中,邮件服务器、动态 Web 服务器等应用对 CPU 性能的要求相对较高,因此对于这类应用,要把 CPU 的配置和性能放在主要位置。

内存

内存的大小也是影响 Linux 性能的一个重要的因素。内存太小,系统进程将被阻塞,应用也将变得缓慢,甚至失去响应;内存太大,会导致资源浪费。

Linux 系统采用了物理内存和虚拟内存的概念,虚拟内存虽然可以缓解物理内存的不足,但是占用过多的虚拟内存,应用程序的性能将明显下降。要保证应用程序的高性能运行,物理内存一定要足够大,但不应过大,否则会造成内存资源的浪费。

例如,在一个 32 位处理器的 Linux 操作系统上,超过 8GB 的物理内存都将被浪费。因此,要使用更大的内存,建议安装 64 位的操作系统,同时开启 Linux 的大内存内核支持。

不仅如此,由于处理器寻址范围的限制,在 32 位 Linux 操作系统上,应用程序单个进程最大只能使用 2GB 的内存。这样即使系统有更大的内存,应用程序也无法“享”用,解决的办法就是使用 64 位处理器,安装 64 位操作系统,在 64 位操作系统下,可以满足所有应用程序对内存的使用需求,几乎没有限制。

对内存性能要求比较的应用有打印服务器、数据库服务器和静态 Web 服务器等,因此对于这类应用,要把内存大小放在主要位置。

磁盘读写(I/O)能力

磁盘的 I/O 能力会直接影响应用程序的性能。比如说,在一个需要频繁读写的应用中,如果磁盘 I/O 性能得不到满足,就会导致应用的停滞。

不过,好在现今的磁盘都采用了很多方法来提高 I/O 性能,比如常见的磁盘 RAID 技术。

RAID 的英文全称为 Redundant Array of Independent Disks,翻译成中文为独立磁盘冗余阵列,简称磁盘阵列。RAID 通过把多块独立的磁盘(物理硬盘)按不同方式组合起来,形成一个磁盘组(逻辑硬盘),从而提供比单个硬盘更高的 I/O 性能和数据冗余。

通过 RAID 技术组成的磁盘组,就相当于一个大硬盘,用户可以对它进行分区格式化、建立文件系统等操作,跟单个物理硬盘一模一样,惟一不同的是 RAID 磁盘组的 I/O 性能比单个硬盘要高很多,同时对数据的安全性也有很大提升。

有关 RAID 更多的介绍,可阅读《Linux RAID(磁盘列阵)完全攻略》一节做深入了解。

网络带宽

Linux 下的各种应用,一般都是基于网络的,因此网络带宽也是影响性能的一个重要因素,低速的、不稳定的网络将导致网络应用程序的访问阻塞;而稳定、高速的带宽,可以保证应用程序在网络上畅通无阻地运行。

幸运的是,现在的网络一般都是千兆带宽,或者光纤网络,带宽问题对应用程序性能造成的影响也在逐步降低。

通过对以上 4 个方面的讲述,不难看出,各个方面之间都是相互依赖的,不能孤立地从某个方面来排查问题。换句话说,当一个方面出现性能问题时,往往会引发其他方面出现问题。

例如,大量的磁盘读写势必消耗 CPU 和 I/O 资源,而内存的不足会导致频繁地进行内存页写入磁盘、磁盘写到内存的操作,造成磁盘 I/O 瓶颈,同时大量的网络流量也会造成 CPU 过载。总之,在处理性能问题时,应纵观全局,从各个方面进行综合考虑。

目录
相关文章
|
16天前
|
Linux
Linux系统之expr命令的基本使用
【10月更文挑战第18天】Linux系统之expr命令的基本使用
51 4
|
5天前
|
Linux 应用服务中间件 Shell
linux系统服务二!
本文详细介绍了Linux系统的启动流程,包括CentOS 7的具体启动步骤,从BIOS自检到加载内核、启动systemd程序等。同时,文章还对比了CentOS 6和CentOS 7的启动流程,分析了启动过程中的耗时情况。接着,文章讲解了Linux的运行级别及其管理命令,systemd的基本概念、优势及常用命令,并提供了自定义systemd启动文件的示例。最后,文章介绍了单用户模式和救援模式的使用方法,包括如何找回忘记的密码和修复启动故障。
22 5
linux系统服务二!
|
5天前
|
Linux 应用服务中间件 Shell
linux系统服务!!!
本文详细介绍了Linux系统(以CentOS7为例)的启动流程,包括BIOS自检、读取MBR信息、加载Grub菜单、加载内核及驱动程序、启动systemd程序加载必要文件等五个主要步骤。同时,文章还对比了CentOS6和CentOS7的启动流程图,并分析了启动流程的耗时。此外,文中还讲解了Linux的运行级别、systemd的基本概念及其优势,以及如何使用systemd管理服务。最后,文章提供了单用户模式和救援模式的实战案例,帮助读者理解如何在系统启动出现问题时进行修复。
23 3
linux系统服务!!!
|
13天前
|
Web App开发 搜索推荐 Unix
Linux系统之MobaXterm远程连接centos的GNOME桌面环境
【10月更文挑战第21天】Linux系统之MobaXterm远程连接centos的GNOME桌面环境
121 4
Linux系统之MobaXterm远程连接centos的GNOME桌面环境
|
15天前
|
Linux 测试技术 网络安全
Linux系统之安装OneNav个人书签管理器
【10月更文挑战第19天】Linux系统之安装OneNav个人书签管理器
37 5
Linux系统之安装OneNav个人书签管理器
|
14天前
|
运维 监控 Linux
Linux系统之部署Linux管理面板1Panel
【10月更文挑战第20天】Linux系统之部署Linux管理面板1Panel
62 3
Linux系统之部署Linux管理面板1Panel
|
17天前
|
监控 Java Linux
Linux系统之安装Ward服务器监控工具
【10月更文挑战第17天】Linux系统之安装Ward服务器监控工具
39 5
Linux系统之安装Ward服务器监控工具
|
20天前
|
JSON JavaScript Linux
Linux系统之安装cook菜谱工具
【10月更文挑战第15天】Linux系统之安装cook菜谱工具
33 2
Linux系统之安装cook菜谱工具
|
22天前
|
Ubuntu Linux 测试技术
Linux系统之Ubuntu安装cockpit管理工具
【10月更文挑战第13天】Linux系统之Ubuntu安装cockpit管理工具
77 4
Linux系统之Ubuntu安装cockpit管理工具
|
20天前
|
安全 Linux
Linux系统之lsof命令的基本使用
【10月更文挑战第14天】Linux系统之lsof命令的基本使用
76 2
Linux系统之lsof命令的基本使用