通过读系统文件来统计系统吞吐数据

Posted standby

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过读系统文件来统计系统吞吐数据相关的知识,希望对你有一定的参考价值。

摘自这里

/sys/class/net/network-interface/statistics

root@Dev[09:41:51]$ ll /sys/class/net/eth0/statistics
total 0
-r--r--r-- 1 root root 4096 Jun 29 14:59 collisions
-r--r--r-- 1 root root 4096 Jun 29 14:59 multicast
-r--r--r-- 1 root root 4096 Jun 29 14:47 rx_bytes
-r--r--r-- 1 root root 4096 Jun 29 14:59 rx_compressed
-r--r--r-- 1 root root 4096 Jun 29 14:59 rx_crc_errors
-r--r--r-- 1 root root 4096 Jun 29 14:59 rx_dropped
-r--r--r-- 1 root root 4096 Jun 29 14:59 rx_errors
-r--r--r-- 1 root root 4096 Jun 29 14:59 rx_fifo_errors
-r--r--r-- 1 root root 4096 Jun 29 14:59 rx_frame_errors
-r--r--r-- 1 root root 4096 Jun 29 14:59 rx_length_errors
-r--r--r-- 1 root root 4096 Jun 29 14:59 rx_missed_errors
-r--r--r-- 1 root root 4096 Jun 29 14:59 rx_nohandler
-r--r--r-- 1 root root 4096 Jun 29 14:59 rx_over_errors
-r--r--r-- 1 root root 4096 Jun 29 14:44 rx_packets
-r--r--r-- 1 root root 4096 Jun 29 14:59 tx_aborted_errors
-r--r--r-- 1 root root 4096 Jun 29 14:47 tx_bytes
-r--r--r-- 1 root root 4096 Jun 29 14:59 tx_carrier_errors
-r--r--r-- 1 root root 4096 Jun 29 14:59 tx_compressed
-r--r--r-- 1 root root 4096 Jun 29 14:59 tx_dropped
-r--r--r-- 1 root root 4096 Jun 29 14:59 tx_errors
-r--r--r-- 1 root root 4096 Jun 29 14:59 tx_fifo_errors
-r--r--r-- 1 root root 4096 Jun 29 14:59 tx_heartbeat_errors
-r--r--r-- 1 root root 4096 Jun 29 14:44 tx_packets
-r--r--r-- 1 root root 4096 Jun 29 14:59 tx_window_errors
root@Dev[09:48:12]$

统计收发包

#!/bin/bash

INTERVAL="1"  # update interval in seconds

if [ -z "$1" ]; then
        echo
        echo usage: $0 [network-interface]
        echo
        echo e.g. $0 eth0
        echo
        echo shows packets-per-second
        exit
fi

while true
do
       R1=`cat /sys/class/net/$1/statistics/rx_packets`
       T1=`cat /sys/class/net/$1/statistics/tx_packets`
       sleep $INTERVAL
       R2=`cat /sys/class/net/$1/statistics/rx_packets`
       T2=`cat /sys/class/net/$1/statistics/tx_packets`
       TXPPS=`expr $T2 - $T1`
       RXPPS=`expr $R2 - $R1`
       echo "TX $1: $TXPPS pkts/s RX $1: $RXPPS pkts/s"
done

统计带宽

#!/bin/bash

INTERVAL="1"  # update interval in seconds

if [ -z "$1" ]; then
        echo
        echo usage: $0 [network-interface]
        echo
        echo e.g. $0 eth0
        echo
        exit
fi

while true
do
        R1=`cat /sys/class/net/$1/statistics/rx_bytes`
        T1=`cat /sys/class/net/$1/statistics/tx_bytes`
        sleep $INTERVAL
        R2=`cat /sys/class/net/$1/statistics/rx_bytes`
        T2=`cat /sys/class/net/$1/statistics/tx_bytes`
        TBPS=`expr $T2 - $T1`
        RBPS=`expr $R2 - $R1`
        TKBPS=`expr $TBPS / 1024`
        RKBPS=`expr $RBPS / 1024`
        echo "TX $1: $TKBPS kB/s RX $1: $RKBPS kB/s"
done

 

以上是关于通过读系统文件来统计系统吞吐数据的主要内容,如果未能解决你的问题,请参考以下文章

使用LabVIEW的数据吞吐量测量解决方案

Kafka副本机制

Kafka核心技术与实战——23 | Kafka副本机制详解

Kafka核心技术与实战——23 | Kafka副本机制详解

吞吐量 吞吐率

一文读懂!异常检测全攻略!从统计方法到机器学习 ⛵