免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 6126 | 回复: 16
打印 上一主题 下一主题

[FreeBSD] 推翻BSD4.11吐吞量的神话 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-07-27 10:23 |只看该作者 |倒序浏览
贴子的题目只不过是为了吸引您的眼球,呵呵....

我不知道为什么有人说FreeBSD的网络性能会高于Linux
zjzf_1还提出了4.11高于5.x 6.x的结论。
以至于大家都一头扎向4.11,我今天是来解救大家嘀。挖哈哈...
下面是xfsoul (ktrudger) 关于《精通polling参数调优的进来帮帮忙吧》一文中BSD4.11的吐吞量测试结果。不说别的,CPU占用率上的统计肯定是有问题的,但对BSD不了解,也不能多说什么。但能量守恒至少要遵守吧?每秒92万pps的处理,绝对是要占用大量CPU的。


  1. FreeBSD 4.11(polling enable,HZ=4000)
  2. 包长   带宽        包速(pps)  字节速率(Mbps)    CPU占用
  3. 64     32.6%       462963     251.85            1%
  4. 128    48.87%      401929     424.44            1%
  5. 256    66.35%      296209     616.11            1%
  6. 512    84.94%      198098     817.75            0%
  7. 1024   100.0%      119274     980.91            0%
  8. 1500   100%        82020      986.86            0%
  9. 混包   60.26%      328831     549.97            0%   
复制代码


xie_minix对BSD网络部分很了解,下面是你对当时测试结论的建议,解释了在BSD下的原因,Linux有对256以下小尺寸数据包的优化驱动版本,不知当时测试的是不是。如果是,BSD会在所有包长下全面溃败下来。


  1. 测试的数据非常有意思,大家看到没有,在包大于256字节的时候,FB就不行了,估计和MBUF有关.
  2. 大家知道,FB的MBUF大小是256字节.如果包大于256字节,m_devget函数执行起来就麻烦多了.
  3. xfsoul你可以把
  4. #define MSIZE                256                /* size of an mbuf */
  5. 改成
  6. #define MSIZE                PAGE_SIZE        /* size of an mbuf */
  7. 如果情况可以,再调到2048,1024,512进行测试
复制代码


另外,liangyi571写过一篇《尝试IA架构下的网络处理极限》,文章说将BSD5.4内核转发效率提高到了119万pps,但是是在64和128字节各50%的流量下测试出来的,我当时也参加了讨论,但手里的硬件弱的可怜,所以也只有先记下结论。前几天总算弄到一个X86高端硬件,索性做了测试。

下面是我在Linux-2.6.15内核,双至强3.2G,PCI-X 133,Intel 82546下的网络吐吞测试结果:


  1. Frame Size                 64    128    256    512   1024   1280   1518
  2. ------------------------------------------------------------------------
  3. Pair1 TxTput(fps)  504032 419463 359195 234962 119732  96154  81274
  4.       %TxTput           33.87  49.66  79.31 100.00 100.00 100.00 100.00

  5. Pair2 TxTput(fps)  500000 419463 359195 234962 119732  96154  81274
  6.       %TxTput           33.60  49.66  79.31 100.00 100.00 100.00 100.00



  7.       Frame Size                 64    128    256    512   1024   1280   1518
  8. ------------------------------------------------------------------------
  9. Pair1 TxTput(fps)  694444 612745 452899 234962 119732  96154  81274
  10.       %TxTput           46.67  72.55 100.00 100.00 100.00 100.00 100.00
复制代码


吐吞量是100万pps(100%纯64字节小包),并且对每个数据包都进行了简单操作,并没有发生liangyi571所说的稍加操作吐吞量就锐减的现像。

[ 本帖最后由 skipjack 于 2006-7-27 10:46 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2006-07-27 10:50 |只看该作者
lz努力,先顶一下,等lz更新
莫非lz能整出>FB5版本下超高的网络吞吐性能?

论坛徽章:
0
3 [报告]
发表于 2006-07-27 10:56 |只看该作者
高级帖,关注下
其实做服务器的系统,俺更关心稳定性和安全性

[ 本帖最后由 LnBSD 于 2006-7-27 10:57 编辑 ]

论坛徽章:
0
4 [报告]
发表于 2006-07-27 11:22 |只看该作者
skipjack 的帖子必看.

论坛徽章:
0
5 [报告]
发表于 2006-07-30 10:18 |只看该作者
linux转发性能极差的主要原因在于网桥,如果将网桥优化一下,转发性能比FreeBSD6.1好的多。

论坛徽章:
0
6 [报告]
发表于 2006-07-30 10:28 |只看该作者
原帖由 skipjack 于 2006-7-27 10:23 发表
Frame Size                 64    128    256    512   1024   1280   1518
------------------------------------------------------------------------
Pair1 TxTput(fps)  504032 419463 359195 234962 119732  96154  81274
      %TxTput           33.87  49.66  79.31 100.00 100.00 100.00 100.00

Pair2 TxTput(fps)  500000 419463 359195 234962 119732  96154  81274
      %TxTput           33.60  49.66  79.31 100.00 100.00 100.00 100.00



      Frame Size                 64    128    256    512   1024   1280   1518
------------------------------------------------------------------------
Pair1 TxTput(fps)  694444 612745 452899 234962 119732  96154  81274
      %TxTput           46.67  72.55 100.00 100.00 100.00 100.00 100.00

我想详细问一下测试平台和测试方法,Xeon 3.2还是Xeon DP3.2G?主板芯片组是什么?
使用的是何种内存?
linux系统设置能否说一下?有没有做过优化?
发包工具是smartbit吗?记录的数据是双向总和还是单向的速率?
在没有对linux系统做过优化前,我的测试结果都是性能比较差,64字节远远达不到33%,无论什么平台。

论坛徽章:
0
7 [报告]
发表于 2006-07-31 17:38 |只看该作者
Xeon只知道是3.2G,我问了厂家,他们也不知道是DP还是MP。我也不敢拆开看。呵呵...
主板芯片组是7520
内存是DDR400,2G
Linux-2.6.15,有少量优化。
不是smartbit,而是ixia400测试仪
测试的是双向数据流。
最新性能测试结果,104万pps


  1. Frame Size                 64    128    256    512   1024   1280   1518
  2. ------------------------------------------------------------------------
  3. Pair1 TxTput(fps)      520833 443262 374251 234962 119732  96154  81274
  4.       %TxTput           35.00  52.48  82.63 100.00 100.00 100.00 100.00

  5. Pair2 TxTput(fps)      520833 446429 376506 234962 119732  96154  81274
  6.       %TxTput           35.00  52.86  83.13 100.00 100.00 100.00 100.00
复制代码

论坛徽章:
0
8 [报告]
发表于 2006-07-31 20:17 |只看该作者
貌似7520上不了DP的U吧,就支持2个插座。

论坛徽章:
0
9 [报告]
发表于 2006-08-01 14:20 |只看该作者
linux在7520上性能这么强,比较诧异啊!

论坛徽章:
0
10 [报告]
发表于 2006-08-01 14:22 |只看该作者
Linux有对256以下小尺寸数据包的优化驱动版本,不知当时测试的是不是。如果是,BSD会在所有包长下全面溃败下来。


请问楼主,哪里有对256字节以下小数据包优化的驱动版本?我怎么没有找到呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP