基于操作系统的性能优化也是多方面的,主要是系统安装、系统内核参数、网络参数、文件系统等几个方面进行衡量,
1.系统安装优化
系统优化可以从安装操作系统开始,当安装 Linux系统时,磁盘的划分、SWAP内存的分配都直接影响以后系统的运行性能,例如,磁盘分配可以遵循应用的需求:对于读写操作频繁而对数据安全性要求不高的应用,可以把磁盘做成RAID0;而对于对数据安全性较高,对读写没有特别要求的应用,可以把磁盘做成RAID1;对于对读操作要求较高,而对写操作无特殊要求,并要保证数据安全性的应用,可以选择RAID5;对于对读写要求都很高,并且对数据安全性要求也很高的应用,可以选择RAID0+1。这样通过不同的应用需求设置不同的RAID级别,在磁盘底层对系统进行优化操作。
随着内存价格的降低和内存容量的日益增大,对虚拟内存SWAP的设定,现在已经没有了所谓虚拟内存是物理内存两倍的要求,但是SWAP的设定还是不能忽略,根据经验,如果内存较小(物理内存小于4GB),一般设置SWAP 交换分区大小为内存的2倍;如果物理内存大于4GB小于16GB,可以设置SWAP大小等于或略小于物理内存即可;如果内存大小在16GB 以上,原则上可以设置 SWAP为0,但并不建议这么做,因为设置一定大小的SWAP还是有一定作用的。
2.内核参数优化
系统安装完成后,优化工作并没有结束,接下来还可以对系统内核参数进行优化,不过内核参数的优化要和系统中部署的应用结合起来整体考虑。例如,如果系统部署的是Oracle数据库应用,那么就需要对系统共享内存段(kernel.shmmax、kernel.shmmni、kernel.shmall)、系统信号量(kernel.sem)、文件句柄(fs.file-max)等参数进行优化设置;如果部署的是Web应用,那么就需要根据Web应用特性进行网络参数的优化,例如修改net.ipv4.ip_local_port_range、net.ipv4.tcp_tw_reuse、net.core.somaxconn 等网络内核参数。
3.文件系统优化
文件系统的优化也是系统资源优化的一个重点,在Linux下可选的文件系统有ext2、ext3、xfs、ReiserFS。可根据不同的应用,选择不同的文件系统。
Linux标准文件系统是从VFS开始的,然后是ext,接着就是ext2,应该说,ext2是Linux上标准的文件系统,ext3是在ext2基础上增加日志形成的。从 VFS 到ext3,其设计思想没有太大变化,都是早期UNIX家族基于超级块和 inode的设计理念设计而成的。
XFS 文件系统是SGI开发的一个高级日志文件系统,后来移植到了Linux系统下XFS通过分布处理磁盘请求、定位数据、保持Cache的一致性来提供对文件系统数据的低延迟、高带宽的访问。因此,XFS极具伸缩性,非常健壮,具有优秀的日志记录功能、可扩展性强、快速写入性能等优点。
ReiserFS是在 Hans Reiser领导下开发出来的一款高性能的日志文件系统,它通过完全平衡树结构来管理数据,包括文件数据、文件名及日志支持等。与ext2/ext3相比,其最大的优点是访问性能和安全性大幅提升。ReiserFS具有高效、合理利用磁盘空间,先进的日志管理机制,特有的搜寻方式,海量磁盘存储等优点。
4.应用程序软件资源
应用程序的优化其实是整个优化工程的核心,如果一个应用程序存在bug,那么即使其他方面都达到了最优状态,整个应用系统还是性能低下的。所以,对应用程序的优化是性能优化过程的重中之重,这就对程序架构设计人员和程序开发人员提出了更高的要求。
5.系统性能分析标准和优化原则
性能调优的主要目的是使系统能够有效地利用各种资源,最大可能地发挥应用程序和系统之间的性能融合,使应用高效、稳定地运行。但是,衡量系统资源利用率好坏的标准没有一个严格的定义,针对不同的系统和应用也没有一个统一的况法,囚此,里北六H"E”实是一个经验值,如表10-1所示。