[置顶] 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/ Pair | Endpoint 1 | Endpoint 2 | Network Protocol | Service Quality | Script/Stream Name |
---|---|---|---|---|---|
All Pairs | |||||
Pair 1 | 192.168.10.249 | 192.168.100.24 | TCP | Throughput.scr |
Throughput
Group/ Pair | Average (Mbps) | Minimum (Mbps) | Maximum (Mbps) | Throughput 95% Confidence Interval | Measured 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/ Pair | Endpoint 1 | Endpoint 2 | Network Protocol | Service Quality | Script/Stream Name |
---|---|---|---|---|---|
All Pairs | |||||
Pair 1 | 192.168.10.249 | 192.168.100.24 | TCP | Throughput.scr |
Throughput
Group/ Pair | Average (Mbps) | Minimum (Mbps) | Maximum (Mbps) | Throughput 95% Confidence Interval | Measured 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 性能,敬请关注!
[置顶] iptables 性能 测试的更多相关文章
- [置顶] Android开发笔记(成长轨迹)
分类: 开发学习笔记2013-06-21 09:44 26043人阅读 评论(5) 收藏 Android开发笔记 1.控制台输出:called unimplemented OpenGL ES API ...
- QQ好友列表向左滑动出现置顶、删除--第三方开源--SwipeMenuListView
SwipeMenuListView是在github上的第三方开源项目,该项目在github上的链接地址是:https://github.com/baoyongzhang/SwipeMenuListVi ...
- [置顶]Win2012R2的一个Bug安装群集后可能引发的软件崩溃问题及相应补丁
[置顶]Win2012R2的一个Bug安装群集后可能引发的软件崩溃问题及相应补丁 如标题,笔者查阅资料发现微软声称安装故障转角色后就可能发生上述描述问题,但不止于SSMS崩溃.建议使用win2012R ...
- Delphi窗体置顶及失去焦点后取得焦点
unit u_FrmTopMostActive; interface uses Winapi.Windows; implementation // 窗体置顶 procedure SetXwForegr ...
- JavaScript中hoisting(悬置/置顶解析/预解析) 实例解释,全局对象,隐含的全局概念
JavaScript中hoisting(悬置/置顶解析/预解析) 实例解释,全局对象,隐含的全局概念 <html> <body> <script type="t ...
- Qt::QWindow多窗口争抢置顶状态解决方案
有时候我们会有这种需求,自己的桌面程序需要置顶,但是程序包含了很多窗口,可能我们要求窗口1,2都在其它桌面程序之上,但是窗口1必须随时在窗口2之上. Qt提供的置顶方式是在windowsflags上增 ...
- [置顶] IIS应用程序池多工作进程设置及Session共享
[置顶] IIS应用程序池多工作进程设置及Session共享 在调优iis的时候,朋友分享给我一个特别棒的设置方法步骤,感谢好朋友的分享. IIS应用程序池多工作进程设置及Session共享 1 ...
- [置顶] SQL Server 2005 双机热备的实现
[置顶] SQL Server 2005 双机热备的实现 分类: SQLSERVER2011-08-24 21:25 901人阅读 评论(0) 收藏 举报 sql servermicrosoftsql ...
- [置顶] Silverlight之控件应用总结(一)(3)
[置顶] Silverlight之控件应用总结(一)(3) 分类: 技术2012-04-02 20:35 2442人阅读 评论(1) 收藏 举报 silverlightradiobuttondatat ...
随机推荐
- thinkphp我掉下的一些坑
1.数据库连接,需要连接没有数据表前缀 如下,第二个参数必须为null,我之前写的是'',结果给我默认加了前缀 $User = M('User',Null,'DB_CONFIG2'); 2.AJAX获 ...
- jQuery 获取父元素、子元素、同级元素
详情:http://www.w3school.com.cn/jquery/jquery_traversing_ancestors.asp parent() 方法返回被选元素的直接父元素.(常用) ...
- resolvconf: Error: /etc/resolv.conf isn't a symlink, not doing anything.
一.问题出现的原因 resolv.conf默认是个软链接,resolvconf默认会检查resolv.conf不是软链接就报错 默认的情况是这样的: #ls -l /etc/resolv.conflr ...
- xfire实现webservice客户端之测试关注点
日前的工作接触到很多系统间的Webservice调用,这里想谈谈基于spring+xfire实现的webservice的客户端踩过的一些坑,需要测试关注的点. xFire的配置项 在spring中实现 ...
- 解决类型“System.Web.UI.UpdatePanel”不具有名为“Gridview”的公共属性,
类型“system.web.ui.updatepanel” 不具有名为“XXX”的公共属性,其实原因很简单.就是少了一个<ContentTemplate></ContentTempl ...
- fineuploader 上传jquery 控件
fineuploader 昨天用的一个jquery插件. 可参考这篇文章以前写的 file-uploader 跟 这个跟里面介绍的2个jquery 插件相比.觉得更强大写..版本号都3.9 了….. ...
- [BZOJ 1106] [POI2007] 立方体大作战tet 【树状数组】
题目链接:BZOJ - 1106 题目分析 从1到2n枚举每一个位置. 如果枚举到某一个数,这个数已经是第二次出现,那么就看它和第一次出现的位置之间有多少数还没有被匹配,有多少没有匹配的就要进行多少次 ...
- Tomcat架构(三)
嵌套组件 这些组件是针对Tocmat做的特定实现,他们的主要目的是使各种Tomcat容器可以完成各自的工作. 1.阀(Valve) valve是处理元素,它可以被包含在每个Tomcat容器的处理路径中 ...
- h.264 scanning process for transform coefficients
宏块在经过变换.量化后,得到大小为4x4或者8x8的矩阵,矩阵中的数据被称为transform coefficient levels.这些level在后面会被用于熵编码,因此我们需要把矩阵按照一定顺序 ...
- 想好了,我不学iOS和Android,有4个原因
1. 2w元的工作,用C++也可达到,不必分散精力学不同的技术,而是应该精益求精练同一门语言,但可以做不同的项目 2. PC更强大,手机只是方便而已,我立志要做真正的IT高手,理所当然应该更喜欢PC. ...