`
huoyanxueren
  • 浏览: 38388 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Linux服务器性能小结

阅读更多

一、服务器性能因素   

 

 1、CPU 2、内存  3、磁盘I/O带宽  4、网络I/O带宽

 

Load:

系统负载指运行队列的平均长度,也就是等待CPU的平均进程数。Load越高说明系统响应越慢,如果load是0,代表进程不需要等待,立刻就能获得cpu运行。可以通过查询文件/proc/loadavg获取系统在前一分钟、前五分钟和前十五分钟的平均负载以及当前运行的进程、系统的进程数和上一次调度运行的进程。

justin@junjun:/proc$ cat/proc/loadavg

0.71 0.70 0.63 1/403 5111

在linux系统中,也可直接通过命令行 “w”或者“uptime”查看,如下:

16:10:22 up 1 day, 4:18,  3 users,  load average: 0.34, 0.50, 0.52

USER     TTY      FROM              LOGIN@  IDLE   JCPU   PCPU WHAT

justin   tty7     :0               Tue11   28:19m 10:15   0.22s gnome-session

justin   pts/0    :0.0             Tue11   28:17m 2:22   0.00s /bin/bash./jettyctl.sh

justin   pts/1    :0.0             16:08    0.00s 0.17s  0.00s w

 

cpu usage:

系统的CPU使用率。

可以用“top”命令动态的显示当前系统进程用户的使用情况。


 

前五行是系统整体的统计信息。

第一行是任务队列信息,同 uptime 命令的执行结果。其内容如下:当前时间;系统运行时间,格式为时:分;当前登录用户数;系统负载,即任务队列的平均长度。

第二、三行为进程和CPU的信息。当有多个CPU时,这些内容可能会超过两行。

内容如下:Tasks: 175 total进程总数;1 running正在运行的进程数;174 sleeping睡眠的进程数;0 stopped停止的进程数;0 zombie僵尸进程数

Cpu(s):22.0% us用户空间占用CPU百分比

20.7%sy内核空间占用CPU百分比

1.1%ni用户进程空间内改变过优先级的进程占用CPU百分比

52.7%id空闲CPU百分比

3.3%wa等待输入输出的CPU时间百分比

0.0%hi

0.2%si swap in,表示虚拟内存的页导入,即从SWAPDISK交换到RAM

0.0%st swap out,表示虚拟内存的页导出,即从RAM交换到SWAPDISK。

 

PR:操作系统给进程的安排的优先级。这个值标示进程调度器分配给进程的时间片长度。单位是时钟个数。如果一个Linux系统的时间片是10ms,那么PID是2718的进程在执行了200ms后,才会进行进程切换。 

RES:进程占用的物理内存大小             

VIRT:物理内存+虚拟内存。

                                                                        

吞吐率:

服务器单位时间内处理的请求数,一般用来描述并发能力,当然谈吞吐率的前提是并发用户数。不同的并发用户数下,吞吐率自然大不相同。单位是“请求数 /秒”。吞吐量分为网络吞吐量和事务吞吐量,当作为事务吞吐量时,采用TPS来衡量。目前线上环境Apache没有mod_status模块,不能很方便的查询。

 

TPS:

服务器每秒处理的事务数。PV在性能测试中的表现形式是以TPS来体现的,两者有一个转换公式,如下:

TPS平均值 =((PV*80%)/(24*60*60*40%))/服务器数量 =  pv/s

TPS峰值 =(((PV*80%)/(24*60*60*40%))*1.6) /服务器数量=  pv/s ,这个和我们经常说的“2-8原则”贴近。

 

二、系统性能评估参考标准


影响性能因素

评判标准

糟糕

CPU

user% + sys%< 70%

user% + sys%= 85%

user% + sys% >=90%

内存

Swap In(si)=0

Swap Out(so)=0

Per CPU with 10 page/s

More Swap In & Swap Out

磁盘

iowait % < 20%

iowait % =35%

iowait % >= 50%

 

 

 

三、性能分析工具和命令

 

1.常用系统命令

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

 

2.常用组合方式

•           用vmstat、sar、iostat检测是否是CPU瓶颈

•           用free、vmstat检测是否是内存瓶颈

•           用iostat检测是否是磁盘I/O瓶颈

•           用netstat检测是否是网络带宽瓶颈

 

3、用工具进行分析

 

Ø  Vmstat



 

列表含义:

Procs

     r:运行和等待cpu时间片的进程数,这个值如果长期大于系统CPU的个数,说明CPU不足,需要增加CPU。

     b:在等待资源的进程数,比如正在等待I/O、或者内存交换等。

Memory

     swpd: 虚拟内存使用情况,单位:KB

     free: 空闲的内存,单位KB

     buff: 被用来做为缓存的内存数,一般对块设备的读写才需要缓冲,单位:KB

     cache:表示page cached的内存数量,一般作为文件系统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性能不好。

cpu

    us:用户进程消耗的CPU 时间百分比。us的值比较高时,说明用户进程消耗的cpu时间多,但是如果长期大于50%,就需要考虑优化程序或算法。

     sy:内核进程消耗的CPU时间百分比。Sy的值较高时,说明内核消耗的CPU资源很多。

根据经验,us+sy的参考值为70%,如果us+sy大于 70%说明可能存在CPU资源不足。

 

Ø  Sar分析cpu性能



 

命令行 sar -u 1 4,结果

列表说明:

%user:用户进程消耗的CPU 时间百分比。

%nice:运行正常进程所消耗的CPU 时间百分比。

%system:系统进程消耗的CPU时间百分比。

%iowaitIO:等待所占用的CPU时间百分比。

%steal:在内存相对紧张的环境下, 被强制等待(involuntary wait)虚拟CPU的时间

%idle:CPU处在空闲状态的时间百分比。

 

具体参考LinuxCPU利用率计算原理及内核实现( http://ilinuxkernel.com/?p=333)

 

Ø  Free评估内存性能



 

这个指标跟Dragoon的memory  usage完全一致。

 

Ø  I/O性能评估

l  iostat命令



 

各列含义:

tps平均每秒钟的IO请求次数

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

Blk_wrtn/s表示每秒写入的数据块数。

Blk_read表示读取的所有块数。

Blk_wrtn表示写入的所有块数。

如果Blk_wrtn/s值很大,表示磁盘的写操作很频繁,可以考虑优化磁盘或者优化程序,如果Blk_read/s值很大,表示磁盘直接读取操作很多,可以将读取的数据放入内存中进行操作。

对于这两个选项的值没有一个固定的大小,根据系统应用的不同,会有不同的值,但是有一个规则还是可以遵循的:长期的、超大的数据读写,肯定是不正常的,这种情况一定会影响系统性能。

 

Ø  网络性能评估

l  netstat -antl  查看所有tcp status



 

注意:可以通过netstat查看是否timewait过多的情况,导致端口不够用,在短连接服务中且大并发情况下,要不系统的 net.ipv4.tcp_tw_reuse、net.ipv4.tcp_tw_recycle两个选项打开,允许端口重用。具体这两个属性如何用,移步线上/etc/sysctl.conf文件配置,有注释。

 

Ø  sar查看网卡性能



 

各列含义:

IFACELAN接口

rxpck/s每秒钟接收的数据包

txpck/s每秒钟发送的数据包

rxbyt/s每秒钟接收的字节数

txbyt/s每秒钟发送的字节数

rxcmp/s每秒钟接收的压缩数据包

txcmp/s每秒钟发送的压缩数据包

rxmcst/s每秒钟接收的多播数据包

其实中间的IFACELAN bond0是虚拟设备。在RH中,多个物理网卡帮定为一个逻辑bonding设备,通过把多个物理网卡帮定为一个逻辑设备,可以实现增加带宽吞吐量,提供冗余。

 

参考文档

 

如何进行虚拟化和模式选择,请参考下面两篇文章。

RHLinux下双网卡bondinghttp://www.douban.com/group/topic/2537474/

linuxbonding实现冗余和负载均衡http://hi.baidu.com/nan5715077/blog/item/0cedf2247c06ac2cd5074246.html

 

sar是一个优秀的一般性能监视工具,它可以输出Linux所完成的几乎所有工作的数据.

参考文献:http://hi.baidu.com/colddloc/blog/item/d63e16fd6965cc1109244d94.html

  • 大小: 46.2 KB
  • 大小: 19.3 KB
  • 大小: 28.4 KB
  • 大小: 15.3 KB
  • 大小: 17.2 KB
  • 大小: 23.9 KB
  • 大小: 50 KB
3
6
分享到:
评论

相关推荐

    集群好书《高性能Linux服务器构建实战》 试读章节下载

    由国内著名技术社区联合推荐的2012年IT技术力作:《高性能Linux服务器构建实战:运维监控、性能调优与集群应用》,即将上架发行,此书从Web应用、数据备份与恢复、网络存储应用、运维监控与性能优化、集群高级应用等...

    实用全面的linux教程大全

    Linux_系统维护命令小结.ppt Linux下的CPU利用率计算原理详解.docx Linux操作系统中内存buffer和cache的区别.docx Linux服务器环境搭建(设置).pdf linux简明维护手册.pdf Linux系统命令及其使用详解.doc Linux系统...

    RED HAT LINUX 6大全

    11.4.3 缓冲服务器小结 206 11.5 重要的DNS事实和概念 206 11.5.1 DNS客户和服务器截然不同 206 11.5.2 DNS术语 206 11.5.3 DNS将名字映射到IP地址及反 序操作 207 11.5.4 前区和反区必须保持同步 207 11.5.5 HUP...

    Nginx服务器高性能优化的配置方法小结

    通常来说,一个优化良好的 Nginx Linux 服务器可以达到 500,000 – 600,000 次/秒 的请求处理性能,然而我的 Nginx 服务器可以稳定地达到 904,000 次/秒 的处理性能,并且我以此高负载测试超过 12 小时,服务器工作...

    Linux方向电子书

    Linux高性能服务器编程 Linux文件系统详解 Linux知识小结三合一

    高性能高并发服务器架构大全

    2.4 网络层架构小结 214 3.1 第四层交换简介 214 3.2 硬件实现 215 3.3 软件实现 215  网站架构的高性能和可扩展性 233  资料收集:高并发 高性能 高扩展性 Web 2.0 站点架构设计及优化策略 243  ...

    Linux环境数据库管理员指南

    1.8 小结 13 1.9 常见问答 13 第2章 Red Hat Linux基本安装 16 2.1 引言 16 2.1.1 物理上独立的机器 16 2.1.2 选择 Linux分发包 16 2.2 初步的安装决定 17 2.2.1 硬件 17 2.2.2 多CPU 17 2.2.3 RAM 17 2.2.4 磁盘 17...

    构建最高可用Oracle数据库系统 Oracle 11gR2 RAC管理、维护与性能优化

    目录 推荐序 前言 第1章 认识Oracle RAC 1.1 RAC产生的背景 1.2 RAC体系结构 1.2.1整体结构 1.2.2物理层次结构 1.2.3逻辑层次结构 1.3 RAC的特点 ...1.4.2高性能 ...1.6本章小结 ...15.5本章小结

    服务器类型优缺点.doc

    可以说机架式是一种优化结" "构的塔式服务器,它的设计宗旨主要是为了尽可能减少服务器空间的占用" ",而减少空间的直接好处就是在机房托管的时候价格会便宜很多。 " " " " 很多专业网络设备都是采用机架式的结构...

    MySQL管理之道 性能调优、高可用与监控.part2.rar

    3.2.1 影响linux服务器性能的因素 73 3.2.2 系统性能评估指标 74 3.2.3 开源监控和评估工具介绍 76 3.3 故障与处理 79 3.3.1 连接数过多导致程序连接报错的原因 79 3.3.2 记录子查询引起的宕机 84 3.3.3 诊断...

    Linux操作系统基础教程

    Linux 操作系统基础教程 清华大学信息学院计算机系 目 录 前言..........................................................................................................................................

    中小企业服务器配置方案.doc

    linux中小企业服务器配置方案(3) 第二章 DNS服务器 第一节 主DNS服务器 & 1.1 简介 域名系统为一个分布式数据库,它使本地负责控制整个分布式数据库的部分段,每 一段中的数据通过客户,服务器模式在整个网络上均可...

    经典 IBM_UNIX_&_Linux_AIX_5L系统管理技术 中文版

     本书内容新颖,编排合理,通俗易懂,注重实践和应用,实用性很强,命令解释详细、图文并茂,内容丰富、突出重点,每章之后有小结并配有习题。本书适于IBM Aserver pSeries(IBM RS/6000)服务器的用户、AIX系统...

    TCP/IP教程TCP/IP基础

    1.3 小结 7 第2章 TCP/IP和Internet 8 2.1 一段历史 8 2.1.1 ARPANET 8 2.1.2 TCP/IP 9 2.1.3 国家科学基金会(NSF) 9 2.1.4 当今的Internet 12 2.2 RFC和标准化过程 12 2.2.1 获得RFC 13 2.2.2 RFC索引 13 2.2.3 ...

    UNIX环境高级编程_第二版中文

    1.12 小结  习题  第2章 UNIX标准化及实现  2.1 引言  2.2 UNIX标准化  2.2.1 ISO C  2.2.2 IEEE POSIX  2.2.3 Single UNIX Specification  2.2.4 FIPS  2.3 UNIX系统实现  2.3.1 SVR4  2.3.2...

    TCP/IP详解

    1.3 小结 7 第2章 TCP/IP和Internet 8 2.1 一段历史 8 2.1.1 ARPANET 8 2.1.2 TCP/IP 9 2.1.3 国家科学基金会(NSF) 9 2.1.4 当今的Internet 12 2.2 RFC和标准化过程 12 2.2.1 获得RFC 13 2.2.2 RFC索引 13 2.2.3 ...

    TCP/IP技术大全

    1.3 小结 7 第2章 TCP/IP和Internet 8 2.1 一段历史 8 2.1.1 ARPANET 8 2.1.2 TCP/IP 9 2.1.3 国家科学基金会(NSF) 9 2.1.4 当今的Internet 12 2.2 RFC和标准化过程 12 2.2.1 获得RFC 13 2.2.2 RFC索引 13 2.2.3 ...

    TCP/IP技术大全(中文PDF非扫描版)

    1.3 小结 7 第2章 TCP/IP和Internet 8 2.1 一段历史 8 2.1.1 ARPANET 8 2.1.2 TCP/IP 9 2.1.3 国家科学基金会(NSF) 9 2.1.4 当今的Internet 12 2.2 RFC和标准化过程 12 2.2.1 获得RFC 13 2.2.2 RFC索引 13 2.2.3 ...

    TCP-IP技术大全

    1.3 小结 7 第2章 TCP/IP和Internet 8 2.1 一段历史 8 2.1.1 ARPANET 8 2.1.2 TCP/IP 9 2.1.3 国家科学基金会(NSF) 9 2.1.4 当今的Internet 12 2.2 RFC和标准化过程 12 2.2.1 获得RFC 13 2.2.2 RFC索引 13 2.2.3 ...

Global site tag (gtag.js) - Google Analytics