温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何对Linux的服务器进行性能评估

发布时间:2020-06-06 11:26:19 来源:亿速云 阅读:624 作者:Leah 栏目:系统运维

如何对Linux的服务器进行性能评估?如何有技术含量地开发了一个网页?针对这个问题,今天小编总结这篇有关服务器性能评估的文章,希望能帮助更多想解决这个问题的朋友找到更加简单易行的办法。

CPU使用率和负载

首先需要分清楚CPU使用率和机器负载不是相同的概念,如果CPU使用率,但是不一定代表机器负载同样也高。所以关于CPU使用率和负载的区别:

  • CPU使用率:显示的是程序在运行期间占用的CPU百分比;
  • CPU负载:显示的是一段时间内正在使用和等待使用的CPU平均任务数;

查看CPU使用率和负载

对于查看负载可以使用uptime,w命令,同时top,vmstat工具也可以同时观察CPU使用率和负载情况。
查看CPU核数:

grep "model name" /proc/cpuinfo | wc -l

uptime命令:

命令返回信息中的load average就是关于系统的平均负载,里面的三个数字分别代表着1分钟、5分钟、15分钟内的系统平均负载。

如何对Linux的服务器进行性能评估

top工具

如何对Linux的服务器进行性能评估
(如果是多核CPU,1查看各个CPU详细信息)

top工具的第一行后面的三个值,分别也是代表之前的1、5、15分钟内的平均负载;
第三行关于CPU使用率各项参数的含义:

  • (us)user:CPU在低nice值(高优先级)用户态所占用的时间;(大部分CPU时间都在执行此类程序)
  • (sy)sytem:CPU处于内核所占用的时间,操作系统通过系统调用从用户态陷入内核态,执行特定的服务;(通常该值会比较小,当服务器执行的IO比较密集的时候,会比较大)
  • ni(nice):CPU在高nice值(低优先级)用户态以低优先级运行占用的时间(nice>0);
  • si(softirq):系统处理软中断所消耗的时间
  • st(steal):在虚拟机情况下,因为虚拟机下的CPU是共享物理CPU,表明这段时间虚拟机等待hypervisor调度CPU的时间。

CPU使用率和负载指标

首先对于CPU使用率,如果长时间处于60-80%的范围,就意味着可能服务器出现瓶颈。如果需要具体分析,还需要观察是user占用率过高,还是system占用率过高。具体:

  • us:当user占用率过高,通常是某些个别的进程占用了大量的CPU;
  • sy:当system占用率过高,说明系统管理花费了大量时间,比如一些IO操作,或者部分内核,驱动模块;
    *(其次负载指标来说,一直存在许多争议,我综合了一些文章的观点,具体是CPU负载保持在(CPU核数0.7)范围内,这样的负载是安全的,如果超过一定的负载(=CPU核数)就可以算是意味着over load。)**

内存

内存也叫内存存储器,作用是暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据。

  • 物理内存:通过物理内存条获得的内存空间,即随机存储器(RAM),与CPU直接交换数据的内部存储器,也叫主存
  • 虚拟内存:计算机的一种内存管理技术,使应用程序认为拥有可连续使用的内存(完整的地址空间),实际上,被分割为多个物理内存碎片,以及部分暂时存储在外部磁盘存储器上,在需要时进行数据交换。
  • Swap分区:在系统的物理内存不够用的时候,将物理内存中的一部分空间释放出来,供当前运行的程序使用,这些被释放的空间可能来自于很长时间没有操作的程序,释放的空间被临时保存到Swap空间中,等到那些程序需要运行的时候,在从Swap分区中恢复保存的数据到内存。

查看内存情况

free命令:

如何对Linux的服务器进行性能评估

free命令可以显示Linux系统中的空闲,已用的物理内存,Swap分区:

  • total:总的可用空间,used:已使用空间;free:空闲可用空间;shared:共享使用物理内存空间;available:可以被应用程序使用的物理内存空间。
  • buffers就是即将要写入到磁盘中,cache使从磁盘中读取出来。buff/cache:被buff和cache使用的物理内存空间
  • free是真正未被使用到的物理内存空间,avaiable是从应用程序角度看,如果应用程序需要使用到内存,可以从buff/cache中回收内存满足应用程序的请求。

vmstat工具:

如何对Linux的服务器进行性能评估

top工具:

如何对Linux的服务器进行性能评估
(展示不同进程的内存占用情况)

磁盘I/O

对于磁盘I/O访问负载过高,通常会出现系统操作,应用服务无法响应等问题,通常可以通过top、iostat,iotop,ps,lsof工具定位问题。

top命令:

如何对Linux的服务器进行性能评估
(wa:表示IO等待所占用的CPU时间占比,高过30%时IO压力过高)

iostat(额外安装sysstat包)

如何对Linux的服务器进行性能评估

(当util接近100%时,说明产生的I/O请求太多,满负荷运行。)

iotop(额外安装iotop包,查看那些进程占用的IO过高)

如何对Linux的服务器进行性能评估

网络

测试有关网络性能,一般从可用性、响应时间、网络利用率、网络吞吐量,网络带宽容量这几个方面。而常用的工具则有(ping、netstat、sar、tcpdump、iptraf)

iptraf(需要额外安装iptraf包)

查看制定以太网卡的吞吐量情况:

iptraf-ng -d eth0

如何对Linux的服务器进行性能评估

如何对Linux的服务器进行性能评估

sar(需要额外安装sysstat)

查看网卡性能:

sar -n DEV 1 100

如何对Linux的服务器进行性能评估

参数含义:

  • IFACELAN接口
  • rxpck/s每秒钟接收的数据包
  • txpck/s每秒钟发送的数据包
  • rxbyt/s或者rxkB/s每秒钟接收的字节数(上传速度,网卡入流量)
  • txbyt/s或者txkB/s每秒钟发送的字节数(下载速度,网卡出流量)
  • rxcmp/s每秒钟接收的压缩数据包
  • txcmp/s每秒钟发送的压缩数据包
  • rxmcst/s每秒钟接收的多播数据包

服务器性能分析软件

如何对Linux的服务器进行性能评估

关于服务器性能评估就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI