仓酷云

标题: Linux教程之Linux服务器功能评价仓酷云 [打印本页]

作者: 老尸    时间: 2015-1-18 11:30
标题: Linux教程之Linux服务器功能评价仓酷云
初学阶段只要把上课时候学习过的命令练熟就可以了.单靠学习各种命令而成为高手是不可能的。
事情这么久了,次要就是服务器真个开辟,因为营业性子,关于功能的思索是天天不能不面临的成绩,每次出计划,都是以预估总pv、单机撑持最年夜并发、估计呆板资本。。。。。。等等一系列成绩入手下手,以是程序运转中单个函数的耗时,上线后全体功能的察看都十分主要。经由一段工夫的堆集和同事的指导,把相干的内容纪录下,也与有一样需求的同砚分享,配合前进。

一:起首,可已从以下四个方面察看你的服务器呆板今朝的功能情形:

1,CPU

2,内存

3,磁盘I/O带宽

4,收集I/O带宽

二:其次,要对怎样评价体系功能有个基础的尺度,经由一段工夫的察看,归结以下:

1,关于CPU,一般情形(非岑岭期)下,user%+sys%<60%是很好的情形

大概你会问,为何要小于60%,残剩的40%做甚么?这个是营业性子决意的,tx的营业都是偶然间段岑岭期的,好比早九点-十点,晚八点-十点,是用户会见岑岭期,我们要包管服务器可以处置尖峰并发,以是年夜多时分有30%~40%的余暇是能够承受并且是必需的。当你的服务器在平常cpu利用率一向>80%,那就要不能不思索扩容大概程序自己功能优化了油滑。

2,关于内存,一样一般情形下,SwapIn(si)=0,SwapOut(so)=0是很好的情形,固然同意偶然的尖峰,可是曲线要绝对光滑,消峰是很有需要的。假如呈现PerCPUwith10page/s,那末就要重点察看了。

3,关于磁盘,一般情形下,iowait%<25%是很好的情形,假如临时>40%,那末就会影响反应才能了

个中:

%user:暗示CPU处在用户形式下的工夫百分比。

%sys:暗示CPU处在体系形式下的工夫百分比。

%iowait:暗示CPU守候输出输入完成工夫的百分比。

swapin:即si,暗示假造内存的页导进,即从SWAPDISK互换到RAM

swapout:即so,暗示假造内存的页导出,即从RAM互换到SWAPDISK。

三:接上去先容,在事情中经常使用到的功能剖析工具,有些经常使用的体系命令:

vmstat、sar、iostat、netstat、free、ps、top等

事情中,我对照经常使用的组合体例为:

1,用vmstat、sar、iostat检测是不是是CPU瓶颈

2,用free、vmstat检测是不是是内存瓶颈

3,用iostat检测是不是是磁盘I/O瓶颈

4,用netstat检测是不是是收集带宽瓶颈

一般,会用命令uptime,看下整体cpu利用情形,比方我个中一台线上呆板情形

uptime
8:40pmup580days2:34,3users,loadaverage:1.24,1.44,1.67

重点存眷,loadaverage,这三个值的巨细一样平常不克不及年夜于体系CPU的个数,比方,本输入中体系有4个CPU,假如loadaverage的三个值临时年夜于4时,申明CPU很忙碌,负载很高,大概会影响体系功能,可是偶然年夜于4时,倒不必忧虑,一样平常不会影响体系功能。相反,假如loadaverage的输入值小于CPU的个数,则暗示CPU另有余暇的工夫片,好比本例中的输入,CPU长短常余暇的,为下次营业放量最筹办,哈哈。

1)用vmstat具体剖析cpu的功能:用该命令剖析我线上呆板

vmstat1
procs-----------memory-------------swap-------io-----system-------cpu------
rbswpdfreebuffcachesisobiboincsussyidwast
20189216543958050647613038320000001467910
61189216543958850647613038320006012544139861757710
1018921654393405064761303832000012441143941847800
1018921654395885064761303832000012540153461847800

注释下:

Procs

r:列暗示运转和守候cpu工夫片的历程数,这个值假如临时年夜于体系CPU的个数,申明CPU不敷,必要增添CPU。

b:列暗示在守候资本的历程数,好比正在守候I/O、大概内存互换等。

Cpu

us:列显现了用户历程损耗的CPU工夫百分比。us的值对照高时,申明用户历程损耗的cpu工夫多,可是假如临时年夜于50%,就必要思索优化程序或算法。

sy:列显现了内核历程损耗的CPU工夫百分比。Sy的值较高时,申明内核损耗的CPU资本良多。

依据履历,us+sy的参考值为70%,假如us+sy年夜于70%申明大概存在CPU资本不敷。

Memory

swpd:假造内存利用情形,单元:KB

free:余暇的内存,单元KB

buff:被用来做为缓存的内存数,一样平常对块设备的读写才必要缓冲,单元:KB

cache:暗示pagecached的内存数目,一样平常作为文件体系cached,频仍会见的文件城市被cached,假如cache值较年夜,申明cached的文件数较多,假如此时IO中bi对照小,申明文件体系效力对照好。

Swap

si:从磁盘互换到内存的互换页数目,单元:KB/秒

so:从内存互换到磁盘的互换页数目,单元:KB/秒

I/O

bi:发送到块设备的块数,单元:块/秒

bo:从块设备吸收到的块数,单元:块/秒

System

in:每秒的中止数,包含时钟中止

cs:每秒的情况(高低文)切换次数

注重:假如r常常年夜于4,且id常常少于40,暗示cpu的负荷很重。

假如si,so临时不即是0,暗示内存不敷。

假如disk常常不即是0,且在b中的行列年夜于3,暗示io功能欠好。

2)用sar剖析cpu功能,sar是个十分壮大的工具,能够对体系的每一个方面举行独自的统计,可是利用sar命令会增添体系开支,不外这些开支是能够评价的,对体系的统计了局不会有很年夜影响。

sar-u14
Linux2.6.16.60-0.21-TENCENT-090803(RS_Server_vip)04/28/11

21:06:13CPU%user%nice%system%iowait%idle
21:06:14all16.830.004.460.9977.72
21:06:15all15.080.004.520.0080.40
21:06:16all17.210.003.990.0078.80
21:06:17all16.750.003.250.0080.00
Average:all16.470.004.050.2579.23

对下面每项的输入注释以下:

%user列显现了用户历程损耗的CPU工夫百分比。

%nice列显现了运转一般历程所损耗的CPU工夫百分比。

%system列显现了体系历程损耗的CPU工夫百分比。

%iowait列显现了IO守候所占用的CPU工夫百分比

%steal列显现了在内存绝对严重的情况下pagein强迫对分歧的页面举行的steal操纵。

%idle列显现了CPU处在余暇形态的工夫百分比。

有的时分会碰到cpu很余暇,可是功能低下的情形,多是因为开的历程数小于你cpu的数量,一般websvr历程城市开的很年夜,由于会挪用良多背景服务,属于io范例偏多,逻辑处置偏少的,比方我线上websvr是240个proc,但逻辑svr一般历程数绝对小,由于逻辑处置是耗cpu型的,假如是异步的一般是4个proc,同步的16-32个不等。历程数与服务器功能也是互相关注的。

3)内存功能评价free

free-m
totalusedfreesharedbufferscached
Mem:81102792531804941263
-/+buffers/cache:10347076
Swap:20551841870

注重:一样平常有如许一个履历公式:使用程序可用内存/体系物理内存>70%时,暗示体系内存资本十分充分,不影响体系功能,使用程序可用内存/体系物理内存<20%时,暗示体系内存资本紧缺,必要增添体系内存,20%<使用程序可用内存/体系物理内存<70%时,暗示体系内存资本基础能满意使用需求,临时不影响体系功能。

一样也能够用vmstat察看内存情形,重点存眷si,so的值

4)i/o功能评价iostat命令

iostat-d2
Linux2.6.16.60-0.21-TENCENT-090803(RS_Server_vip)04/28/11

Device:tpsBlk_read/sBlk_wrtn/sBlk_readBlk_wrtn
sda9.4822.7341.5011391884262080012464

Device:tpsBlk_read/sBlk_wrtn/sBlk_readBlk_wrtn
sda0.000.000.0000

Device:tpsBlk_read/sBlk_wrtn/sBlk_readBlk_wrtn
sda7.500.00112.000224

对下面每项的输入注释以下:

Blk_read/s暗示每秒读取的数据块数。

Blk_wrtn/s暗示每秒写进的数据块数。

Blk_read暗示读取的一切块数。

Blk_wrtn暗示写进的一切块数。

注重:1:能够经由过程Blk_read/s和Blk_wrtn/s的值对磁盘的读写功能有一个基础的懂得,假如Blk_wrtn/s值很年夜,暗示磁盘的写操纵很频仍,能够思索优化磁盘大概优化程序,假如Blk_read/s值很年夜,暗示磁盘间接读取操纵良多,能够将读取的数据放进内存中举行操纵。

2:关于这两个选项的值没有一个流动的巨细,依据体系使用的分歧,会有分歧的值,可是有一个划定规矩仍是能够遵守的:临时的、超年夜的数据读写,一定是不一般的,这类情形必定会影响体系功能。

5)I/O功能评价sar

sar-d23
Linux2.6.16.60-0.21-TENCENT-090803(RS_Server_vip)04/28/11

21:24:24DEVtpsrd_sec/swr_sec/savgrq-szavgqu-szawaitsvctm%util
21:24:26dev8-010.400.00324.7531.240.087.435.525.74

21:24:26DEVtpsrd_sec/swr_sec/savgrq-szavgqu-szawaitsvctm%util
21:24:28dev8-00.000.000.000.000.000.000.000.00

21:24:28DEVtpsrd_sec/swr_sec/savgrq-szavgqu-szawaitsvctm%util
21:24:30dev8-02.990.0031.8410.670.0311.3310.002.99

Average:DEVtpsrd_sec/swr_sec/savgrq-szavgqu-szawaitsvctm%util
Average:dev8-04.480.00119.4026.670.048.306.522.92

必要重点存眷的几个参数寄义:

await暗示均匀每次设备I/O操纵的守候工夫(以毫秒为单元)。

svctm暗示均匀每次设备I/O操纵的服务工夫(以毫秒为单元)。

%util暗示一秒中有百分之几的工夫用于I/O操纵。

对以磁盘IO功能,一样平常有以下评判尺度:

注重:一般情形下svctm应当是小于await值的,而svctm的巨细和磁盘功能有关,CPU、内存的负荷也会对svctm值形成影响,过量的哀求也会直接的招致svctm值的增添。

await值的巨细一样平常取决与svctm的值和I/O行列长度和I/O哀求形式,假如svctm的值与await很靠近,暗示几近没有I/O守候,磁盘功能很好,假如await的值远高于svctm的值,则暗示I/O行列守候太长,体系上运转的使用程序将变慢,此时能够经由过程改换更快的硬盘来办理成绩。

%util项的值也是权衡磁盘I/O的一个主要目标,假如%util靠近100%,暗示磁盘发生的I/O哀求太多,I/O体系已满负荷的在事情,该磁盘大概存在瓶颈。临时下往,必将影响体系的功能,能够经由过程优化程序大概经由过程改换更高、更快的磁盘来办理此成绩。

6)收集功能netstat,重用的几种体例为:

netstat-s统计分歧协定否有丢包

netstat-nlpRev-Q是不是有未读取的数据

netstat-antl一切tcp毗连情况

注重:能够经由过程netstat检察是不是timewait过量的情形,招致端口不敷用,在短毗连服务中且年夜并发情形下,要不体系的以下两个选项翻开,同意端口重用

cattcp_tw_recycle
1
cattcp_tw_reuse

7)收集吸收具体情形tcpdump

假如想要猎取主机210.27.48.1除和主机210.27.48.2以外一切主机通讯的ip包,利用命令:

#tcpdumpiphost210.27.48.1and!210.27.48.2

假如想要猎取主机210.27.48.1吸收或收回的telnet包,利用以下命令:

#sudotcpdump-ieht1-Xnns0tcpport23host210.27.48.1

安装和登录命令:login、shutdown、halt、reboot、mount、umount、chsh
作者: 愤怒的大鸟    时间: 2015-1-21 08:47
熟悉操作是日常学习Linux中的三大法宝。以下是作者学习Linux的一些个人经验,供参考:
作者: 海妖    时间: 2015-1-29 14:23
最好先搜寻一下论坛是否有您需要的文章。这样可以获得事半功倍的效果。
作者: 简单生活    时间: 2015-1-31 15:44
Linux最大的特点就是其开源性,这一点是十分难得的,这也是它能够存在到现在的原因之一。
作者: 只想知道    时间: 2015-2-6 20:18
随着IT从业人员越来越多,理论上会有更多的人使用Linux,可以肯定,Linux在以后这多时间不会消失。
作者: 再见西城    时间: 2015-2-18 13:08
生成新的unispimsp.ksc。”另外得到回复后如果问题解决,向帮助过你的人发个说明,让他们知道问题是怎样解决的。
作者: 蒙在股里    时间: 2015-2-22 19:56
Linux操作系统这个名词记得在很早以前就听过,但当时并不知道具体是什么样的操作系统,只知道是一个与嵌入式密切相关的操作系统。
作者: 活着的死人    时间: 2015-3-4 10:32
请问谁有Linux的学习心得的吗?简单的说说?
作者: 第二个灵魂    时间: 2015-3-6 03:46
再次,Linux是用C语言编写的,我们有学习C语言的基础,读程序和编写代码方面存在的困难小一点,也是我们能较快掌握的原因之一。?
作者: 若相依    时间: 2015-3-7 01:39
安装一个新的软件时先看README,再看INSTALL然后看FAQ,最后才动手安装,这样遇到问题就知道为什么。如果Linux说明文档不看,结果出了问题再去论坛来找答案反而浪费时间。
作者: 小女巫    时间: 2015-3-14 00:34
即便是非英语国家的人发布技术文档,Linux也都首先翻译成英语在国际学术杂志和网络上发表。
作者: 精灵巫婆    时间: 2015-3-20 22:55
Linux最大的特点就是其开源性,这一点是十分难得的,这也是它能够存在到现在的原因之一。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2