×

PFQ网络监控框架

消耗积分:2 | 格式:zip | 大小:1.37 MB | 2022-04-26

laisvl

分享资料个

授权协议 GPL
开发语言 C/C++
操作系统 Linux
软件类型 开源软件
所属分类 管理和监控系统监控

软件简介

PFQ 是一个支持多语言的网络框架,主要用于 Linux 操作系统下进行高效的包捕获和传输,适用于多核处理器系统中的网络监控框架。

PFQ 专门为多核处理器而优化,包括对多个硬件队列的网络设备优化,支持任意网络设备驱动,并提供一个脚本用来加速和优化对设备数据的获取。

该框架可用来开发高性能的应用,使用 C、C++11 和 Haskell 。此外 PFQ 还包含一个纯函数语言 PFQ/lang 。

PFQ/lang 灵感来自于 Haskell 可以用来创建运行在内核空间中网络设备驱动之上的小应用程序,例如用来创建高效的桥接程序、端口镜像、简单防火墙和网络均衡器等等。

特性

  • 完全无锁和非堵塞架构

  • 预先分配 Socket 缓冲池

  • 兼容绝大多数网络设备驱动

  • Rx and Tx 10-Gbit line-rate (14,8Mpps), 基于 Intel ixgbe vanilla 驱动

  • 透明的支持核心线程,用于异步包交换

  • 通过 socket 组并发监控多线程应用

  • 通过随机化哈希和固定分类进行 Per-group 包管理

  • Per-group Berkeley 和 VLAN 过滤器.

  • 内核中用于包处理的函数化引擎: PFQ/lang v4.x.

  • 为 C、C++11-14 和 Haskell 语言提供用户空间库

  • PFQ/lang as eDLS for C++11-14 and Haskell language.

  • 加速的 pcap 库用于包捕获和传输

  • pfqd, 用来配置和并行化多实例传统应用的守护进程.

  • pfq-omatic, 用来动态加速 vanilla 驱动的脚本

  • I/O user<->kernel 共享内存 基于 HugePages

PFQ 的性能高度依赖于所运行的硬件环境。在至强处理器、Intel 82599 10G 控制器上,PFQ 每秒可处理约 1480 万的数据包(2 或者 3 核心线程),详细配置请看 Intel processors.

 

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !