开发者社区> 问答> 正文

Linux性能优化评估中,请问如何做转发性能测试

Linux性能优化评估中,请问如何做转发性能测试

展开
收起
我是小美女 2021-11-03 14:35:48 3700 0
1 条回答
写回答
取消 提交回答
  • 网络规划设计师、敏捷专家、CISP、ITSS服务经理、ACA全科目、ACP4项、ACE、CBP、CDSP、CZTP等。拥有 PRINCE2 Foundation/Practitioner、CCSK、ITIL、ISO27001、PMP等多项国际认证。 专利5+、期刊10+、知识产权师。核心期刊审稿人。

    您好,网络接口层和网络层,注意负责网络包的封装,寻址,路由,转发和接收,在这两个网络协议层中,每秒可以处理的网络包数PPS,就是最终于的性能指标,特别是64B小包的处理能力,值得我们特别关注。

    常用的工具,Linux内核自带的高性能网络测试工具 pktgen,支持更丰富的自定义选项,可以更准确的测试出目标服务器的性能

    在Linux中部能直接使用 pktgen命令,因为pktgen作为一个内核线程来运行的,需要加载pktgen内核模块后,再通过/proc文件系统来交互

    下面是pktgen启动的四个内核线程和/proc文件系统的交互文件

    modprobe pktgen
     
    ps -ef | grep pktgen | grep -v grep
    root     20211     2  0 10:18 ?        00:00:13 [kpktgend_0]
    root     20212     2  0 10:18 ?        00:00:05 [kpktgend_1]
    root     20213     2  0 10:18 ?        00:00:05 [kpktgend_2]
    root     20214     2  0 10:18 ?        00:00:05 [kpktgend_3]
     
    ls /proc/net/pktgen/
    eth0  kpktgend_0  kpktgend_1  kpktgend_2  kpktgend_3  pgctrl
    
    

    pktgen在每个CPU上启动一个内核线程,并可以通过/proc/net/pktgen 下面的同名文件,跟这些线程交互,而pgctrl则主要用来控制这次测试的开启和停止。

    如果modprobe命令执行失败,说明内核没有配置 CONFIG_NET_PKTGEN 选项,这就需要配置pktgen内核模块(即CONFIG_NET_PKTGEN=m)后,重新编译内核,才可以使用。

    在使用pktgen测试网络性能时,需要先给每个内核线程kpktgend_X以及测试网卡,配置pktgen选项,然后再通过pgctrl启动测试。

    # 定义一个工具函数,方便后面配置各种测试选项
    function pgset() {
        local result
        echo $1 > $PGDEV
     
        result=`cat $PGDEV | fgrep "Result: OK:"`
        if [ "$result" = "" ]; then
             cat $PGDEV | fgrep Result:
        fi
    }
     
    # 为 0 号线程绑定 eth0 网卡
    PGDEV=/proc/net/pktgen/kpktgend_0
    pgset "rem_device_all"   # 清空网卡绑定
    pgset "add_device eth0"  # 添加 eth0 网卡
     
    # 配置 eth0 网卡的测试选项
    PGDEV=/proc/net/pktgen/eth0
    pgset "count 1000000"    # 总发包数量
    pgset "delay 5000"       # 不同包之间的发送延迟 (单位纳秒)
    pgset "clone_skb 0"      # SKB 包复制
    pgset "pkt_size 64"      # 网络包大小
    pgset "dst 192.168.0.30" # 目的 IP
    pgset "dst_mac 11:11:11:11:11:11"  # 目的 MAC
     
    # 启动测试
    PGDEV=/proc/net/pktgen/pgctrl
    
    
    2021-11-03 14:38:57
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Alibaba Cloud Linux 3 发布 立即下载
ECS系统指南之Linux系统诊断 立即下载
ECS运维指南 之 Linux系统诊断 立即下载