Chinaunix首页 | 论坛 | 博客
  • 博客访问: 359009
  • 博文数量: 94
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 606
  • 用 户 组: 普通用户
  • 注册时间: 2015-09-30 08:58
个人简介

x

文章分类

全部博文(94)

文章存档

2019年(4)

2018年(10)

2017年(26)

2016年(38)

2015年(16)

我的朋友

分类: LINUX

2016-04-16 23:47:04

本文转自:http://blog.chinaunix.net/uid-23225855-id-3228867.html

上一篇文章讲到了,尤其在千兆网的条件下,大量的丢包,网上搜索好久,大概都是PF_PACKET +MMAP,NAPI,PF_RING之类的方法,我对PF_RING+libpcap进行实验,发现千兆网条件下,捕获数据包的性能很好,几乎不丢包,Linux  14(本人实验的环境为:ubuntu11.04)实验环境搭配流程如下:

1)下载PF_RING:svn co

2)下载完后,在PF_RING/kernel下面make编译pf_ring,生成pf_ring.ko

3)insmod pf_ring.ko thansparent_mode =1

4)cd 进入lib目录下,修改MakeFile,将安装目录指向usr/,如果不修改,就会指向/usr/local

5)在lib目录下,make,然后make install

6)cd 进入libpcap-1.1.1-ring目录下,修改源码,将pf_ring的内核ring缓冲区设为2M,默认0.5M,然后修改MakeFile,将安装目录指向usr/,默认指向usr/local。接着编译make,然后make install;

7)这样,就将libpfring.so ,pfring_e1000e_dna.h,pfring.h,libpfring.a拷贝到了usr/include或usr/lib下,同时用libpcap-1.1.1-ring的库文件替换了原来的libpcap库文件;

8)环境搭建完了,应用记得在应用程序的头文件中加入#define HAVE_PF_RING ;

9)大功告成,你会发现性能有极大的提高,提高了60%以上。但是cpu占用率也会相应的提高,cpu占用率采用在终端采用top查看。

阅读(3933) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~