千家信息网

Linux服务器性能评估

发表于:2025-02-04 作者:千家信息网编辑
千家信息网最后更新 2025年02月04日,导语总结有关服务器的各项性能指标,以及如何判断服务器的性能状况出现问题,性能指标代表的含义。同时也总结Linux服务器上有关工具的各项参数含义,以及日常需要注意的参数信息。CPU使用率和负载首先需要分
千家信息网最后更新 2025年02月04日Linux服务器性能评估

导语

总结有关服务器的各项性能指标,以及如何判断服务器的性能状况出现问题,性能指标代表的含义。同时也总结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分钟内的系统平均负载。

top工具


(如果是多核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命令:

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

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

vmstat工具:

top工具:


(展示不同进程的内存占用情况)

磁盘I/O

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

top命令:


(wa:表示IO等待所占用的CPU时间占比,高过30%时IO压力过高)

iostat(额外安装sysstat包)

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

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

网络

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

iptraf(需要额外安装iptraf包)

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

iptraf-ng -d eth0

sar(需要额外安装sysstat)

查看网卡性能:

sar -n DEV 1 100

参数含义:

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

服务器性能分析软件

参考链接

Linux下的CPU使用率与服务器负载的关系与区别:
https://www.jianshu.com/p/e134b8498413
服务器性能指标(一)--负载(Load)分析及问题排查:
https://www.hollischuang.com/archives/2409
服务器性能指标(三)--内存使用分析及问题排查:
https://www.hollischuang.com/archives/2642
Linux服务器I/O过高原因及解决方法:
https://www.linuxidc.com/Linux/2016-09/134813.htm
查看linux服务器硬盘IO读写负载:
https://www.cnblogs.com/mfryf/archive/2012/03/12/2392012.html

内存 服务 空间 服务器 使用率 时间 物理 数据 程序 系统 性能 工具 命令 指标 存储 应用 存储器 应用程序 情况 磁盘 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 中国广电网络技术部主任 服务器内存可以插家用主机上吗 网络安全体制不包括以下哪一项 全球服务器厂家排名 命中我行高风险数据库 河北数据库安全箱市场价格 GM服务器管理工具 深圳智能还款app软件开发 网络安全展板讲解 机关事业单位网络安全方案 数据库跑腿接单设计 caddy 服务器 甲基化数据库人工智能 网络安全自查实施方案 电子商务面临的网络安全威胁 江苏手机软件开发工程师 海康威视软件开发怎么样 网络安全与生活概念 义乌物流软件开发费用 一流网络安全建设大学 宁波服务器工控机资料 收费站网络安全防控措施 数据库应用技术大题大家帮帮忙 体现网络安全防护能力指标 吉林通讯软件开发参考价格 数据库关系代数不包括 异化之地怎么换服务器 根服务器 安全 南京科技互联网公司有了一些 狼人杀服务器维护时间老是变
0