Linux系统基准测试v2

#!/bin/bash


# 如有需要: 磁盘健康检查命令为
# smartctl -H /dev/sda
# 如下为可能需要安装的软件包
yum install iperf3 -y  >>/dev/null 2>&1

date +"%F %T"

iperf3_server_ip="192.168.1.1"   # 此为 iperf3 服务端IP

cpu_s_1=`cat /proc/cpuinfo | grep "physical id" | uniq| wc -l`
cpu_s_2=`cat /proc/cpuinfo | grep "cpu cores" | uniq | awk -F: '{print $2}'`
cpu_s_3=`cat /proc/cpuinfo  | grep processo | wc -l `

mem_size=`cat  /proc/meminfo  | grep  MemTotal | awk '{print int($2/1024/1024)+1}'`

disk_s=`lsblk | grep disk | awk '{print $1,$4}' | wc -l`
disk_size=`lsblk | grep disk | awk '{print $1,$4}'`
disk_name=`lsblk | grep disk | awk '{print $1}'`

net_number=`lspci | egrep  -i --color 'network|ethernet' | wc -l`

evade_mount="/  /boot /dev /etc /home /lib /lib64 /media /opt /proc /root /run /srv /tmp /usr /var"
all_mount=$(df -P -m | grep ^/dev |awk '{print $6}')

network_card_s=`ifconfig  | grep flags | awk -F':' '{print $1}' | grep -v lo`


echo "CPU个数: ${cpu_s_1}"
echo "每个CPU中的核心数: ${cpu_s_2}"
echo "CPU逻辑个数: ${cpu_s_3}"
echo "总内存大小: ${mem_size}G"
echo "磁盘数: ${disk_s}"
echo "各磁盘大小:"
echo "${disk_size}"
echo "真实网卡数量: ${net_number}"

# 20G
echo "使用dd命令测试,物理读测试:"
for disk in `echo ${disk_name}`
do
    for ((aa=0;aa<1;aa++))
    do
        echo "/dev/${disk}:"
        sync;dd if=/dev/${disk} of=/dev/null bs=8k count=2500000 conv=fdatasync
    done
done


echo "各个挂载点写测试(目录可用空间剩余 >=25G 写 20G 文件测试, <25G, 写所剩空间的1/2):"
echo "规避如下挂载点:${evade_mount[@]}"
echo "使用dd命令测试,物理写测试:"

for mount_test in `echo ${all_mount}`
do
    if [[ ! ${evade_mount} =~ ${mount_test} ]];then
        echo "${mount_test}:"
        number=`df -P -m | grep -v ^Filesystem | awk -v mount_test_awk="${mount_test}" '{if ($6 == mount_test_awk && int($4/1024) <25 ) print $4*1024/8/2}'`
        if [ -n "${number}" ];then
            sync;dd if=/dev/zero of=${mount_test}/test_disk bs=8k count=${number} conv=fdatasync
        else
            sync;dd if=/dev/zero of=${mount_test}/test_disk bs=8k count=2500000 conv=fdatasync
        fi
        if [ -f ${mount_test}/test_disk ];then
            rm -f ${mount_test}/test_disk
        fi
    fi
done


echo "网络测试:"
echo "网卡类型:"


for network in `echo "${network_card_s}"`
do
    hh_number=`ethtool ${network} | grep "Supported ports: \[ TP \]" | wc -l`
    if [ ${hh_number} -eq 1 ];then
        echo -e "${network}: \c";ethtool ${network}| grep Speed  | awk -F: '{print $2}'
    fi
done


echo "使用 iperf3测试网络:"
# 服务端 iperf
# iperf3 -s -i 1 -f M

#  如下为客户端命令


echo "TCP测试:"
iperf3 -c ${iperf3_server_ip} -i 1 30 -f M

echo "UDP 测试:"
iperf3 -u -c ${iperf3_server_ip} -i 1 30 -f M

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值