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


可能出现内存性能瓶颈的应用有NOSQL服务器、数据库服务器、缓存服务器等 , 对于这类应用要把内存大小放在主要位置 。
(3)磁盘I/O性能
磁盘的I/O性能直接影响应用程序的性能 , 在一个有频繁读写的应用中 , 如果磁盘I/O性能得不到满足 , 就会导致应用停滞 。 好在现今的磁盘都采用了很多方法来提高I/O性能 , 比如常见的磁盘RAID技术 。
通过RAID技术组成的磁盘组 , 就相当于一个大硬盘 , 用户可以对它进行分区格式化、建立文件系统等操作 , 跟单个物理硬盘一模一样 , 唯一不同的是RAID磁盘组的I/O性能比单个硬盘要高很多 , 同时在数据的安全性也有很大提升 。
根据磁盘组合方式的不同 , RAID可以分为RAID0 , RAID1、RAID2、RAID3、RAID4、RAID5、RAID6、RAID7、RAID0+1、RAID10等级别 , 常用的RAID级别有RAID0、RAID1、RAID5、RAID0+1 , 这里进行简单介绍 。
RAID0:通过把多块硬盘粘合成一个容量更大的硬盘组 , 提高了磁盘的性能和吞吐量 。 这种方式成本低 , 要求至少两个磁盘 , 但是没有容错和数据修复功能 , 因而只能用在对数据安全性要求不高的环境中 。
RAID1:也就是磁盘镜像 , 通过把一个磁盘的数据镜像到另一个磁盘上 , 最大限度地保证磁盘数据的可靠性和可修复性 , 具有很高的数据冗余能力 , 但磁盘利用率只有50% , 因而 , 成本最高 , 多用在保存重要数据的场合 。
RAID5:采用了磁盘分段加奇偶校验技术 , 从而提高了系统可靠性 , RAID5读出效率很高 , 写入效率一般 , 至少需要3块盘 。 允许一块磁盘故障 , 而不影响数据的可用性 。
RAID0+1:把RAID0和RAID1技术结合起来就成了RAID0+1 , 至少需要4个硬盘 。 此种方式的数据除分布在多个盘上外 , 每个盘都有其镜像盘 , 提供全冗余能力 , 同时允许一个磁盘故障 , 而不影响数据可用性 , 并具有快速读/写能力 。
通过了解各个RAID级别的性能 , 可以根据应用的不同特性 , 选择适合自身的RAID级别 , 从而保证应用程序在磁盘方面达到最优性能 。
(4)网络宽带
Linux下的各种应用 , 一般都是基于网络的 , 因此网络带宽也是影响性能的一个重要因素 , 低速的、不稳定的网络将导致网络应用程序的访问阻塞 , 而稳定、高速的网络带宽 , 可以保证应用程序在网络上畅通无阻地运行 。 幸运的是 , 现在的网络一般都是千兆带宽或光纤网络 , 带宽问题对应用程序性能造成的影响也在逐步降低 。
Linux爱好者▲的性能调优的思路,Linux
文章图片
【Linux爱好者▲的性能调优的思路,Linux】2.2操作系统相关资源
基于操作系统的性能优化也是多方面的 , 可以从系统安装、系统内核参数、网络参数、文件系统等几个方面进行衡量 , 下面依次进行简单介绍 。
(1)系统安装优化
系统优化可以从安装操作系统开始 , 当安装Linux系统时 , 磁盘的划分 , SWAP内存的分配都直接影响以后系统的运行性能 。
例如 , 磁盘分配可以遵循应用的需求:
对于对写操作频繁而对数据安全性要求不高的应用 , 可以把磁盘做成RAID0;而对于对数据安全性较高 , 对读写没有特别要求的应用 , 可以把磁盘做成RAID1;对于对读操作要求较高 , 而对写操作无特殊要求 , 并要保证数据安全性的应用 , 可以选择RAID5;对于对读写要求都很高 , 并且对数据安全性要求也很高的应用 , 可以选择RAID10/01 。
这样通过不同的应用需求设置不同的RAID级别 , 在磁盘底层对系统进行优化操作 。
随着内存价格的降低和内存容量的日益增大 , 对虚拟内存SWAP的设定 , 现在已经没有了所谓虚拟内存是物理内存两倍的要求 , 但是SWAP的设定还是不能忽略 , 根据经验 , 如果内存较小(物理内存小于4GB) , 一般设置SWAP交换分区大小为内存的2倍;