[置顶] 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 ...
随机推荐
- Spring面试笔记
1. Spring工作机制及为什么要用?Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的.Spring既是一个AOP框架,也是一IOC容器.SpringFramework的组成: ...
- Balsamiq Mockups
Balsamiq Mockups完全手册 2010.03.18 发布 48,066 浏览 什么是Balsamiq Mockups Balsamiq Mockups出自加利福尼亚州的Balsamiq工作 ...
- IS about 64bit system
This function supports the 64-bit parts of the registry by using the REGDB_OPTION_WOW64_64KEY option ...
- Activity生命周期回顾
先来一张经典的生命周期图: ------------------------------------------------------------- 工程代码: ActivityLifeCycle. ...
- 编译u-boot命令和u-boot常用命令
一.编译u-boot命令 1.配置开发板 #make TQ2440_config 2.编译 #make all 3.交叉编译器是crosstools_3.4.5_softfloat” 使用4.3.3版 ...
- PC和单片机通过MODBUS RTU通信
最近研究了一下MODBUS通信,在STC12C5A60S2单片机上实现了MODBUS协议的部分功能,方便上位机从单片机系统上获取数据,比如由单片机获取的温度.湿度.或者控制信号的状态等.有了MODBU ...
- UFLDL教程之(三)PCA and Whitening exercise
Exercise:PCA and Whitening 第0步:数据准备 UFLDL下载的文件中,包含数据集IMAGES_RAW,它是一个512*512*10的矩阵,也就是10幅512*512的图像 ( ...
- shuffle ----- mr 董西城
http://dongxicheng.org/framework-on-yarn/apache-spark-shuffle-details/
- 为了启动我在openshift的angular应用
在Windows环境下搭建OpenShift环境,安装客户端工具rhc,首先需要安装Ruby和Git,参阅https://developers.openshift.com/en/getting-sta ...
- 显示 SQLite 日志
通过在 Logcat 查看 SQL 执行语句可以帮助你调试 SQLite 问题, 使用 ADB SHELL 执行如下命令即可在 Logcat 输出 SQL 执行日志: adb shell setpro ...