zoukankan      html  css  js  c++  java
  • [置顶] iptables 性能 测试

    一直研究iptables 性能,这几天刚好有硬件资源,于是发始下手测试iptables NAT 性……

      硬件环境  : 

         服务器: IBM x3650 ( 4G  E5645 6核 12线程) ESXi

          测试服务器  : Ser1 配置 ( 1.5G 4核心 redhat 6.2 x64 iptables v 1.4)

          测试服务器  : windows xp (512内存,2核心 ),Endpoint 用

              网络环境  :Gbps

               测试软件:业界公认的Ixchariot 

    TOP图

             


    NAT FORWARD 默认为DROP 

      生成测试所需要的 iptables 规则,下面贴出生成iptables 脚本:

    #!/bin/bash
    ###
    ##regard
    #default output iptables policy file name is "iptables_policy",Please completed renamed
    #default output mac bandding file name is "mac_policy",please completed renamed
    ###
    start_ip=1
    end_ip=3000
    ip_n=0
    ## ip_n is subnet [ example 192.168.iP_n.x ]
    
    ###----------------------------------------------------------------------------
    ###                        PRIGRAM 
    ###----------------------------------------------------------------------------
    
    ############## 
    	while [ $start_ip -le $end_ip ]
    #	echo "[ $start_ip -gt $end_ip ]"
    	do
     	 	if [ $start_ip -eq 254 ]
                   then
                           ip_n=$(($ip_n + 1))
                           start_ip=1
                           end_ip=$(($end_ip - 253))
                          #reserve end_ip.254 (SSH control port)
                   fi
       iptables -A FORWARD -i eth0  -s 192.168.$ip_n.$start_ip -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
       echo "#arp -i" '$in_net' " -s 192.168.$ip_n.$start_ip "                                      >> mac_policy
       ##display
       echo "#iptables -A FORWARD add 192.168.$ip_n.$start_ip   [OK] ; arp -i [ interface ] -s 192.168.$ip_n.$start_ip    [OK] "
    	start_ip=$(($start_ip + 1 ))
    	done 


    30k 条规则测试 测试主机ACCEPT 在最后一条,ixchariot 测试结果:

     

    Test Execution (Endpoint 1 to Endpoint 2)

    Group/ PairEndpoint 1Endpoint 2Network ProtocolService QualityScript/Stream Name
    All Pairs          
    Pair 1 192.168.10.249 192.168.100.24 TCP   Throughput.scr


    Throughput

    Group/ PairAverage (Mbps)Minimum (Mbps)Maximum (Mbps)Throughput 95% Confidence IntervalMeasured Time (secs)Relative Precision
    All Pairs 81.009 52.875 94.787      
    Pair 1 81.059 52.875 94.787 3.497 98.694 4.314
    Totals: 81.009 52.875 94.787      


    服务器使用率:


    关于si 、ksoftirqd 等这里就不作解释。


    50k 条规则测试 测试主机ACCEPT 在最后一条,ixchariot 测试结果:

     

    Test Execution (Endpoint 1 to Endpoint 2)

    Group/ PairEndpoint 1Endpoint 2Network ProtocolService QualityScript/Stream Name
    All Pairs          
    Pair 1 192.168.10.249 192.168.100.24 TCP   Throughput.scr


    Throughput

    Group/ PairAverage (Mbps)Minimum (Mbps)Maximum (Mbps)Throughput 95% Confidence IntervalMeasured Time (secs)Relative Precision
    All Pairs 78.976 60.286 94.787      
    Pair 1 79.023 60.286 94.787 3.418 101.236 4.326
    Totals: 78.976 60.286 94.787      


    服务器性能:

     


    把测试主机放在第一条时测试:

     无论是 30k规则还是50k规则

    Measured Time (secs)  < 15 secs

     说明iptables 规则顺序与延时有极为重要的关系,稍后附测试数据,与NetBSD 的PF 性能,敬请关注!


  • 相关阅读:
    使用wchar_t输入,显示中文
    MFC使用rich edit若干问题
    一种对话框嵌入MFC 文档结构效果的实现方法(一),让你的自定义对话框区域同客户区大小一起改变
    一种在MFC程序上显示jpeg图片的方法(二)曙光乍现
    一种在MFC程序上显示jpeg图片的方法(一)宁滥勿缺
    MFC---GDI之DC类杂记,以画尺子为例
    又让厂公着半天急----一例自定义MFC程序编译时LNK2019错误
    egret 引擎分析之三————egret make --egretversion xxxx 到底做了什么?
    egret 引擎分析之二————从selector.js说起
    egret 引擎分析之一————egret 命令的时候发生了什么
  • 原文地址:https://www.cnblogs.com/suncoolcat/p/3295298.html
Copyright © 2011-2022 走看看