本文大纲

《如何做性能测试》

Linux自有命令对系统资源监控

系统资源与监控

在软件开发过程中,对于服务器系统的性能监控至关重要。通过高效的性能监控,团队可以及时发现并解决潜在问题,确保应用程序稳定运行。

监控–CPU 使用率、负载

  • top 命令提供了实时的CPU使用状态视图,能够帮助你了解哪些进程在占用最多的系统资源。包含cpu使用率、负载;
  • uptime 这个简单的命令可以让你快速了解到系统的平均负载情况。通常情况下,三个数值分别代表过去1分钟、5分钟和15分钟内的平均负载值。

image2024-12-28_21-2-32.png

监控—内存

了解内存的使用状况是性能监控中的另一个重要环节。

  • free命令 命令可以显示系统的总内存、已使用内存和空闲内存。
  • free -m :命令显示了系统的总内存、已用内存及空闲内存,单位为MB。这有助于快速查看系统当前的状态。

image2024-12-28_21-9-19.png
详细内存分析

  • total 总内存大小。
  • used 已使用的内存量(程序使用 + 系统缓存)。
  • free 空闲的物理内存数(是真正的空闲,未被任何程序占用)
  • shared 多个进程共享的内存总额。
  • buffers 磁盘缓存(Buffer Cache),提高I/O性能。
  • cached 文件系统缓存(Page Cache),也提高I/O性能。
  • -buffers/cache 表示已被我们的程序使用的内存数,计算方法:used - buffers - cached
  • +buffers/cache 表示还可已被我使用的内存数,计算方法:free + buffers + cached

操作系统目前可用内存总量=free + buffers + cached,上图是1155M

监控—进程

进程的状态和使用资源是性能分析的关键点之一。可以通过以下命令来查看:

  • ps 命令 通过ps加上相应的参数,可以列出系统上所有活动的进程或者特定条件下的进程。
  • ps -ef|grep httpd

image2024-12-28_21-24-53.png

综合监控

为了更全面地了解系统的健康状况,还需要同时关注CPU、内存和I/O等关键资源。

  • vmstat 命令可以显示虚拟内存统计信息,包括CPU使用率、内存使用情况和I/O状态。
  • vmstat 1 10   命令会每隔一秒收集一次数据,并持续进行十次采集。通过它你能够得到虚拟内存的使用情况以及其他的系统活动指标。

image2024-12-28_21-28-9.png

监控—监听端口\网络连接

检查服务器上的开放端口和建立的连接同样重要。

  • netstat -lntp   命令可以列出所有监听的端口及其对应的服务进程。

image2024-12-28_22-41-50.png

  • netstat -antp # 查看所有已经建立的连接
  • 而通过netstat -antp | grep [port_number]则可以帮助定位到特定端口的所有信息。
  • netstat -antp | grep 80 # 检查80端口的状态和相关进程

image2024-12-28_21-19-37.png

使用nload监控网络流量

为了更直观地监测服务器的网卡流量,可以采用nload工具。nload 是一个非常实用的命令行网络流量监控工具,它可以帮助你实时查看网卡的数据传输情况,并以图形化的界面展示出来。

在开始使用 nload 之前,你需要先安装该工具。以下是详细的安装步骤:

安装nload :

  • 下载nload工具软件
  • tar zxvf nload-0.7.2.tar.gz 解压缩
  • cd nload-0.7.2
  • ./configure
  • make && make install

nload -u M eth0 –按MByte为单位 ,监控eth0 网卡,出现了字符做的图形界面,可以看网卡流量。

image2024-12-28_21-47-6.png

实用场景

监控服务器性能: 当你需要监测服务器网络状况时,可以打开 nload 来查看每个网卡的数据传输情况。这有助于识别是否存在过载或者异常状态。

优化网络配置: 在进行网络优化时(例如调整带宽限制或流量控制策略),你可以使用 nload 监控各个时段的网络负载变化,并据此做出相应的调整,确保最佳性能表现。