【构建压测环境】模拟网络延迟与CPU占用

本文介绍了如何通过tc命令模拟网络延迟和丢包,以及使用shell脚本来模拟CPU高负载占用情况。这些工具和方法在测试线上环境的性能和稳定性时非常有用,可以用于验证应用程序在恶劣网络条件和资源紧张情况下的行为。
摘要由CSDN通过智能技术生成

背景

线上环境的网络存在一定的延迟及丢包率,CPU的负载占用处于较高的状态下

一、设置网络延迟

在这里插入图片描述
查看当前网络情况:tc qdisc show dev eth0

网卡传输延迟设置为100ms,约30%的会延迟±10ms发送:
tc qdisc add dev eth0 root netem delay 100ms 10ms 30%

删除掉:
tc qdisc del dev eth0 root netem delay 100ms 10ms 30%

网卡传输设置随机丢失1%的数据包
tc qdisc add dev eth0 root netem loss 1%

删掉:
tc qdisc del dev eth0 root netem loss 1%

需要注意的是对于丢包和延时是包括请求和响应是一起的,都会产生效果,实际是作用在网卡上去完成一个模拟的情况
docker环境中可能存在没有tc命令的存在,也可以直接限制docker所在的服务器即可

二、 模拟CPU占用

touch run_cpu.sh

{{#!/bin/bash
function while_test()
{
    while ((1));
    do
        i=2;
    done
}


function run_cpu()
{
    for ((i=0; i<$1; i++));
    do
        while_test &
    done
}

run_cpu $1}}

sh run_cpu.sh 8 (这里假设当前机器是8核,这里的数值执行的时候根据cpu实际核数做调整)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值