测试Linux系统是确保其稳定性、性能和安全性的关键环节,涵盖基础功能、性能指标、安全防护及兼容性等多个维度,以下是详细的测试方法和步骤,帮助全面评估Linux系统状态。
系统基础功能测试
基础功能测试是Linux测试的起点,主要验证核心模块是否正常运行。
-
启动与关机测试
- 检查系统是否能正常启动,通过
dmesg
查看启动日志,确认无内核错误或驱动加载失败。 - 测试关机命令
shutdown -h now
和重启命令reboot
,验证系统是否能正确关闭或重启,无卡顿或异常报错。
- 检查系统是否能正常启动,通过
-
用户与权限管理测试
- 创建新用户:使用
useradd testuser
并设置密码(passwd testuser
),切换用户(su - testuser
)验证权限隔离。 - 测试
sudo
权限:通过visudo
编辑配置文件,赋予普通用户特定命令权限(如testuser ALL=(ALL) /usr/bin/ls
),验证执行是否正常。
- 创建新用户:使用
-
文件系统与存储测试
- 创建、修改、删除文件:使用
touch
、echo
、rm
命令操作,确认文件权限(ls -l
正确性。 - 磁盘空间检查:通过
df -h
查看分区使用率,测试磁盘满载情况下的系统响应(如写入大文件观察是否报错)。
- 创建、修改、删除文件:使用
-
网络配置测试
- 配置静态IP:编辑
/etc/sysconfig/network-scripts/ifcfg-ens33
(Centos)或/etc/netplan/01-netcfg.yaml
(Ubuntu),重启网络服务(systemctl restart network
)后用ip addr
验证。 - 网络连通性:使用
ping www.baidu.com
测试外网连通,telnet 192.168.1.1 80
测试端口可达性。
- 配置静态IP:编辑
测试项目 | 测试方法 | 预期结果 |
---|---|---|
启动日志 | dmesg | grep -i error |
无内核错误或驱动加载失败 |
用户切换 | su - testuser + whoami |
成功切换至目标用户 |
磁盘空间 | dd if=/dev/zero of=testfile bs=1M count=1024 |
正常写入,无空间报错 |
性能测试
性能测试评估系统在高负载下的资源利用率和响应能力,重点关注CPU、内存、磁盘I/O及网络。
-
CPU性能测试
- 使用
top
或htop
实时监控CPU使用率,观察多任务下(如编译软件)是否出现持续100%占用。 - 压力测试工具:
stress --cpu 4 --timeout 60
模拟4核CPU满载1分钟,通过vmstat 1
查看CPU系统态与用户态时间占比,确认无性能瓶颈。
- 使用
-
内存性能测试
- 查看内存使用:
free -h
,观察buff/cache
是否合理占用,避免频繁触发Swap交换(swapon -s
检查Swap分区使用)。 - 压力测试:
stress --vm 2 --vm-bytes 1G --timeout 30
模拟2GB内存分配,监控free -m
中剩余内存是否稳定。
- 查看内存使用:
-
磁盘I/O测试
- 读写速度测试:使用
dd
命令,dd if=/dev/zero of=testfile bs=1G count=1 oflag=direct
测写入速度,dd if=testfile of=/dev/null bs=1G count=1 iflag=direct
测读取速度,结果应接近硬盘标称值。 - 随机I/O测试:工具
fio
,配置randread
和randwrite
模式,验证IOPS(每秒读写次数)是否符合预期。
- 读写速度测试:使用
-
网络性能测试
- 带宽测试:服务端运行
iperf3 -s
,客户端执行iperf3 -c <服务端IP> -t 10
,测试10秒平均带宽,对比网卡理论速率(如千兆网卡应≥900Mbps)。
- 带宽测试:服务端运行
安全测试
安全测试旨在发现系统漏洞和权限配置缺陷,保障系统稳定运行。
-
用户权限检查
- 查看特权用户:
cat /etc/passwd | awk -F: '$3==0 {print $1}'
,确认除root
外无其他UID为0的用户。 - 空密码用户检测:
awk -F: '($2=="") {print $1}' /etc/shadow
,输出结果应为空(禁止空密码用户)。
- 查看特权用户:
-
服务与端口扫描
- 检查危险服务:
systemctl list-unit-files --state=enabled
,禁用不必要的服务(如telnet、rsh)。 - 端口开放检查:
netstat -tuln
或ss -tuln
,确认仅开放必要端口(如SSH 22、HTTP 80),关闭高危端口(如135、139)。
- 检查危险服务:
-
漏洞扫描
- 使用
lynis
工具:lynis audit system
生成详细报告,重点关注“warnings”和“suggestions”,修复已知漏洞(如系统补丁更新yum update
或apt upgrade
)。
- 使用
兼容性测试
兼容性测试验证Linux系统与硬件、软件的适配情况,避免驱动缺失或功能异常。
-
硬件兼容性
- 检查硬件识别:
lspci
(PCI设备)、lsusb
(USB设备)、lspci | grep -i 'vga'
(显卡),确认硬件驱动已加载(如NVIDIA显卡需安装nvidia-driver)。 - 外设测试:连接打印机、U盘等,验证系统是否自动识别并正常使用(如
mount /dev/sdb1 /mnt
挂载U盘)。
- 检查硬件识别:
-
软件兼容性
安装常用软件:如Chrome浏览器、Wine(运行Windows程序)、Docker(容器化工具),测试安装过程及功能是否正常。
相关问答FAQs
Q1:如何定位Linux系统性能瓶颈?
A:可通过组合工具定位:①CPU瓶颈:top
查看高进程,pidstat -p <PID> -u
分析进程CPU占用;②内存瓶颈:free -h
确认Swap是否频繁使用,smem
查看进程内存真实占用;③磁盘I/O瓶颈:iostat -xz 1
观察%util(利用率)和await(等待时间),若%util>80%且await过高,需优化磁盘或升级SSD;④网络瓶颈:iftop
或nethogs
查看实时流量,确认带宽是否打满。
Q2:Linux系统测试中如何验证防火墙规则是否生效?
A:分三步验证:①检查规则状态:firewall-cmd --list-all
(firewalld)或iptables -L -n -v
(iptables),确认规则已添加;②测试放行规则:开放端口后(如firewall-cmd --add-port=8080/tcp --permanent
),使用telnet <IP> 8080
或nc -zv <IP> 8080
验证连通;③测试拦截规则:添加拒绝规则后(如iptables -A INPUT -p tcp --dport 3306 -j DROP
),再次测试端口应无法访问,同时通过iptables -L -n -v
查看包计数(packets)是否增加,确认规则生效。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/21730.html