IDC机房运维实操-信创服务器进行压力测试-stress详解

一、任务说明(事件背景)

        新上线了一批信创服务器(联想开天,昆仑-鲲鹏),为验证硬件资源使用的稳定性,客户和领导要求进行压力测试。压力测试要求如下:服务器设备性能验证,需要保证CPU、内存使用率在80%,持续时间最少1周,利用stress并生成测试报告。

        按照要求做了raid,安装Kylin-Server-10-SP1(麒麟V10)操作系统(昆仑-鲲鹏是arm版,联想开天是X86版)。

二、压测软件的选择

        测试报告模板提供了5种压测软件的选择:UnixBech、Fio、netperf、prime95、stress。

        因为kylin是用的centos的内核,所以这里选择stress软件进行压测。

三、stress的安装

        1、先把stress软件包拷贝到服务器硬盘,这里可以用u盘介质,然后以挂载的方式让服务器识别到U盘,再将u盘的软件包拷贝到服务器硬盘。

df -h #插入u盘前、后各执行一次,对比找到u盘的源名称
mount /u盘的源名称 /mnt #挂载u盘到目录/mnt
cd /mnt #进入mnt,因为已经挂载了u盘,所以实际就是进入u盘
cp /mnt/stress-1.0.4-21.ky10.x86_64.rpm / #拷贝stress安装包到根目录

        2、安装stress的软件包

cd /
rpm -ivh stress-1.0.4-21.ky10.x86_64.rpm

四、stress压测命令实操详解

这里我先将使用的命令摆出来,然后对选项、参数逐个进行解释,为什么要用这个参数。

stress -c 80 --vm 10 --vm-bytes 20480M --vm-keep -t 7d&

-c 选项 是对cpu逻辑核心资源的消耗,源要求是80%,这里参数是填80,稍后解释为什么填80.

--vm 选项 和 --vm-bytes 选项 是对内存资源的消耗,这里参数是填10 和20480M ,这里的选项和参数结合起来的意思是 10个进程,每个进程消耗20G,总计消耗200G内存资源。

--vm-keep 选项意味 持续占用这些内存,直到测试结束。

-t 选项是压测命令的持续时间,这里参数是填7d 就是7天。

& 是保证命令后台运行。

以上三个选项-c、--vm、 --vm-bytes 的参数填写需要明确和计算,还记得最开始的背景要求是资源占用80%以上吗?

那么我怎么确认资源占用是80%以上呢?首先我得知道总资源量是多少,就是这台要测试的服务器他本身有多少cpu逻辑核心,有多少总的内存。

4.1 查看CPU逻辑核心

方法 1:使用 lscpu 命令

lscpu
  • 关键信息

    • CPU(s):总逻辑 CPU 数(包括物理核心和超线程线程)。

    • Core(s) per socket:每个物理插槽的物理核心数。

    • Socket(s):物理 CPU 插槽数量。

    • 物理核心总数 = Socket(s) × Core(s) per socket

方法 2:使用 nproc 命令

nproc --all #直接输出总逻辑 CPU 数量

CPU逻辑核心数总数是100

4.2 查询内存总量

free -h

内存容量总数是250G

4.3 按照要求计算,并执行命令的选项、参数

因为CPU逻辑核心数总数是100,内存容量总数是250G,这里要求是80%,那么CPU逻辑核心数消耗量就是100*0.8=80,内容容量消耗量就是250*0.8=200.

所以执行命令具体选项、参数如下:

stress -c 80 --vm 10 --vm-bytes 20480M --vm-keep -t 7d&

4.4 监测stress执行的结果

free -h #查看内存占用情况
top #查看cpu占用情况

五、一些其他讨论

5.1 stress 参数差异讨论

原命令参数

stress -c 80 --vm 10 --vm-bytes 20480M --vm-keep -t 7d&
  • CPU 负载:生成 80 个 CPU 压力线程,需确保服务器逻辑 CPU ≥80,否则会超分导致严重竞争。

  • 内存负载:启动 10 个进程,每个分配 20GB 内存,总计 200GB

新参数方案

stress -c 80 --vm 20 --vm-bytes 10240M --vm-keep -t 7d&
  • CPU 负载:与原始命令相同(80 线程)。

  • 内存负载:启动 20 个进程,每个分配 10GB 内存,总计仍为 200GB。

关键区别

  1. 进程数量与单进程内存分配

    • 新方案创建 更多进程(20 vs 10),但每个进程占用内存更小。

    • 对系统的影响:

      • 内存碎片:分配更小的内存块可能减少碎片问题。

      • 进程调度:更多进程可能增加上下文切换开销。

      • OOM Killer 风险:若系统内存紧张,小进程可能更易被终止。

  2. 适用场景

    • 测试内存管理策略时,进程数量和单进程大小的组合可能暴露不同问题(如内存泄漏或分配延迟)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值