操作系统相关资源优化策略
目录:
一、影响Linux性能的各种因素
二、程序问题
一、影响Linux性能的各种因素
1、系统资源硬件
(1)Cpu
如何判断多核CPU与超线程
消耗CPU的业务:动态web服务、mail服务
cpu是纯硬件方面的东西,关于cpu,其实他的影响,也是很大的,比如说cpu的性能如何,对cpu是几核几核的。
那么现在的服务器级别的cpu,它基本上都是以多核。这种多核的方式来区分的,最常见的是两颗四核,两颗六合,现在两颗,和两颗16核。
(2)内存
物理内存与swap的取舍
选择64位Linux操作系统
消耗内存的业务:内存数据库(redis、hbase、mongodb)
存的话其实就涉及到两个方面,一个就是物理内存。另外一个是swap,swap其实也是应该叫虚拟内存,在系统里面叫虚拟内存。
第二块就是在内存方面,比如说要在操作系统上,尽量选择64位的操作系统,为什么?
因为32位的操作系统,有一套本身本身寻址范围的限制,它在内存的使用上不够充分。
比如说32位操作系统上,原则上一个进程可以用的最大内存,不会是不超过2G。
那么即使用在大内存的话,在32系统它都是得不到一个有力的一个使用的,所以选择64位的一个另一个操作系统,那么在原则上,对内存这块东西,它是使用是没有任何限制的,这是关于内存,尽量在使用的时候选择64位操作系统就不用30,那么内存信号比较大的。
(3)磁盘IO
RAID技术(RAID0\1\5\01\10)
SSD磁盘
消耗磁盘的业务:数据库服务器
第一个方面就是在磁盘初期。就是刚有磁盘技术初期,要提高磁盘L技术,其实是通过很多种方法去实验,那么第一个是通过这个瑞的技术来实现。
其实就是一个逻辑,磁盘阵列,简称为这个瑞的技术。
该技术是为了更好的去利用磁盘扩大磁盘的这个性能,然后提高磁盘的这样一个扩展性和安全性而来的。那么在企业当中,我们最常用的可能有raid1和raid5。
(4)网络带宽
网卡、交换机的选择
操作系统双网卡的绑定
消耗带宽的业务:hadoop平台、视频业务平台
连接的性能的一个重要方面。带宽涉及两个方面。
第一个方面,就是服务器本身的一个网卡的带宽,每个服务器基本上都是千兆网卡。
另外一个就是跟网卡相连接的,交换机的一个带宽或者交换机的背板带宽。这两个都要保持足够的大才能充分的保证的网络性能。
在另外的一个情况下,比如业务对网络带宽非常高的情况下,还可以考虑在操作系统基础之上,考虑双卡绑定,因为现在服务器有很多网卡,至少有四网卡。可以考虑两张卡,做一个双卡荣誉绑定。
绑定的策略,其实有很多种,最常见的就是主备策略。其实就是是同时工作,单独的大量之后,再启用。
还有一种是附带策略,就是两块网卡。
比如每块都是千兆的网卡,两块,就是2000兆的,也就是2G的一个带宽,就是做这么一个负债绑定。具体做哪种方式的绑定,还要跟业务相关联起来。
业务系统,只有两个方面,一块就是大数据分析,就是hadoop平台。另外,就是有在线视频业务。对服务器网络带宽要求是非常非常高的。
最常见的就是比如额度,数据分析平台,因为有非常非常多的数据,要在几点之间做一个传输。
如果把带宽,提高之后,他能最大程度的就是提高的数据传输性能,进而,就会提高数据分析性。影响Linux性能的,关于硬件方面的四个因素,那其实就是cpu,内存磁盘io,还有网络带宽,这四个方面。
2、操作系统相关资源
关于影响力的系统的影响因素,性能的第一个因素就是关于系统硬件资源方面。
(1)系统安装优化
磁盘分区、RAID 设置、swap设置
系统性能优化,比如最常见的第一个就是系统安装的优化。要关注的点就是在安装系统的时候,磁盘分区,磁盘分区的重要性,另外一个设置就是服务器硬盘之类的设置。第三个就是swap的设置,这三个方面是在系统安装优化,必须要做的,三个方面非常重要。
(2) 内核参数优化
ulimit -n(最大打开文件数)
ulimit u(最大用户数)
(3)文件系统优化
ext2:linux下标准文件系统,无日志记录(inode)功能
ext3:在ext2基础上增加了日志记录功能(inode)仅支持32000个子目录
ex4:ext3的后续版本,Linux26.28内核开始支持。无限于目录支持,快速fsck。
xfs:高性能文件系统,linux3.10内核开始默认支持。
内核参数其实有很多,最重要的,有两个。第一个,就是系统可以打开的最大文件数的优化。另外一个是系统最大用户数的优化。
分别对应的命令,就是unit-N,-N,就是设置最大打开文件数的,第二个就是的最大用户数。
建议:
读操作频繁,同时小文件众多的应用:;首选ex4文件系统,接下来依次是xfs、exf3
写操作频繁的应用,首选是xfs,接下来依次是ext4和ext3
对性能要求不高、数据安全要求不高的业务、ext3是比较好的选择
文件系统优化。文件系统,在Linux下,常见的文件系统有MP3,MP4,还有最新的XS,最常见有四种文件系统。具体选哪种文件系统比较好?
给出了一些建议,关于L2文件系统,它是Linux加一个最原始最古老的一个文件系统。它是标准的一个临时文件系统。它的功能有文件存储,它没有日志记录功能,在专业术语里边叫艾诺的,L,会记录的文件的一些操作过程。文件一些属性都会记录到APP里。
比如说文件写到什么地方了,写到什么程度了,他都会做记录。在F72那个时代,它是没有日志记录功能的。没有这样一个功能的话,当文件系统出现问题的时候,他的恢复就会非常的麻烦。
1it2,在L的基础之上,就是H3,it3,也是目前应用最多的文件系统。
它的主要功能或主要特色就是在F的基础上增加了一个日志文件,就是日志记录功能。加了这样一个安装的功能之后,会有一些简单的文件系统恢复的功能,因为它记录了文件的各种属性信息。比如权限属性,可以执行一个简单的恢复操作。
功能把数据恢复出来。它的一个缺点,就是说在在esp35系统基础之上,它仅仅支持32000多私募,就是说在大的一根目录下有很多很多的子目录,当子目录数超过32000个之后。在大磨下已经不能再写其他目录了。
X3,在X3基础之上又出了一个新的版本,叫EIP4。S4,是MP3后续版本它的功能包括性能,他的支持是在Linux2...6.28内核基础之上才开始支持的。
它的功能有非常多,第一个是无限制母乳支持,跟MP3就形成鲜明的对比。另外,就是快速的FX,在文件系统出现故障之后,一般是用SDK,去做修复操作,在Mh3时代,有X一个0T的一个磁盘。关于H4,最新的文件系统,也就是说,思考ST或者说是再整个03..1的内核之后默认支持。
二、程序问题
此类问题需要开发人员查看代码,介入处理。但作为运维人员需要给出程序问题的有力证据。
关于业务系统的程序问题。这个问题就需要开发去接入,去做批发代码优化,或者修复。
怎么样才能判断或者判定是程序方面的问题,对运维提出了很高的要求,出了问题之后,搞清楚一定要找到一个强有力的证据,去证明这确实不是系统本身或者网络本身也本身有问题。
这是关于程序问题,那就是当然有开发的人去介入,我们只是给他提供一个思路,是哪块出了问题,让他们怎么去解决。更多的话是一个思路的问题。