分享到: 分享到QQ  分享到Twitter

作者: BigLoser    访问次数: 517 创建时间: 2020-04-27 23:53:38 更新时间: 2024-04-19 13:14:01

FreeBSD 在企业网络基础架构中的性能很好,但是网络桥接设备内核代码 if_bridge 处会遇到性能瓶颈(if_bridge 可以有效地将 FreeBSD 机器变成交换机)。

 

开发人员研究过程中发现,当前的 if_bridge 实现在单个 BRIDGE_LOCK 互斥锁上有很大的竞争。if_bridge 实现将吞吐量限制为每秒约 370 万个数据包。

 

在遍历了一些选项之后,开发人员的最终解决方案利用了 FreeBSD 13 (CURRENT) 中的 epoch (9),通过巧妙地使用并发,epoch (9) 允许安全使用受保护的数据结构,而根本不需要获得锁(互斥锁或读写锁)。

 

最终结果是,新的 if_bridge 实现每秒可以转发约 1860 万个数据包,性能大约提升了 5 倍。

 

FreeBSD 基金会在博客上介绍了这一改进,在此研究过程中,基金会通过社区赠款提供了资助,

 

详情查看:https://www.freebsdfoundation.org/blog/500-if_bridge-performance-improvement

年度最有价值文章

季度最有价值文章

月度最有价值文章

投票统计

是否原创: 0 %

0 % Complete (success)

是否有价值: 0 %

0% Complete

是否有素质: 0 %

0% Complete (warning)

是否合法: 0 %

0% Complete

   群组工具

   外部链接