自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Linux下開源監(jiān)控軟件Ntop的性能提升方案

開發(fā) 開發(fā)工具
Ntop是一款Linux下常見的開源監(jiān)控軟件,它可以監(jiān)測的數(shù)據(jù)包括:網(wǎng)絡(luò)流量、使用協(xié)議、系統(tǒng)負(fù)載、端口情況、數(shù)據(jù)包發(fā)送時(shí)間等。

Ntop是一款Linux下常見的開源監(jiān)控軟件,它可以監(jiān)測的數(shù)據(jù)包括:網(wǎng)絡(luò)流量、使用協(xié)議、系統(tǒng)負(fù)載、端口情況、數(shù)據(jù)包發(fā)送時(shí)間等。正常情況下它工作的時(shí)候就像一部被動(dòng)聲納,默默的接收看來自網(wǎng)絡(luò)的各種信息,通過對(duì)這些數(shù)據(jù)的分析,網(wǎng)絡(luò)管理員可以深入了解網(wǎng)絡(luò)當(dāng)前的運(yùn)行狀況,不過一旦超過Ntop數(shù)據(jù)包的處理能力,Ntop隨即出現(xiàn)性能問題,從而導(dǎo)致Ntop無法準(zhǔn)確分析網(wǎng)絡(luò)流量和各種數(shù)據(jù),對(duì)網(wǎng)絡(luò)管理造成影響。下文介紹了一種提高Ntop性能的方法。

通常Ntop的抓包分析功能,是通過Ntop自己完成,但它們都是通過libpcap來實(shí)現(xiàn)抓包,且速度不能超過100M,分析一下libpcap的流程我們明白,首先數(shù)據(jù)包通過路徑為網(wǎng)卡硬中斷→軟中斷→內(nèi)核協(xié)議棧→系統(tǒng)調(diào)用→socket→->libpcap接口→用戶應(yīng)用程序,在這個(gè)流程中,可以看出數(shù)據(jù)的copy比較多,所以在高速率下libpcap 抓包丟包嚴(yán)重也不用感到奇怪了。

對(duì)于千兆的網(wǎng)絡(luò)就需要采用PF_RING技術(shù)來接受數(shù)據(jù)包了,PF_Ring運(yùn)行于Linux的內(nèi)核層,體系結(jié)構(gòu)圖如下圖所示,它采用類類似零拷貝技術(shù),而且PF_Ring從網(wǎng)卡獲取的數(shù)據(jù)的速度比libpcap有成倍的提高,而且在千兆環(huán)境下幾乎不丟包。

對(duì)于內(nèi)核必須熟悉的可以用下面的方法,首先給內(nèi)核源碼打補(bǔ)丁(以下內(nèi)容需要讀者具備Linux內(nèi)核編譯基礎(chǔ))。

1).zcat linux-2.6.25-1-686-smp-PF_RING.patch.gz | patch -p0

2).在/usr/src/目錄下的linux-2.6.25目錄中,編輯Makefile 在這個(gè)地方加上一個(gè)自定義的后綴(比如-PF_RING):

  1. EXTRAVERSION = -PF_RING 

3).make menuconfig

這里按y選上PF_RING,然后保存修改到.config退出。然后就開始編譯內(nèi)核

  1. #make  
  2. #make modules 安裝編譯好的modules  
  3. #make install 

注意:將bzImage添加到grub中,以便用新內(nèi)核啟動(dòng)(注意,新添加的內(nèi)核不是默認(rèn)啟動(dòng)項(xiàng))

(用 make install 可以免去手動(dòng)復(fù)制bzImage并生成initrd的繁瑣過程)

進(jìn)入libpcap-1.1.1-ring目錄下,修改源碼,將pf_ring的內(nèi)核ring緩沖區(qū)設(shè)為2M,默認(rèn)0.5M,然后修改MakeFile,將安裝目錄指向usr/,默認(rèn)指向usr/local。接著編譯make,然后make install;這樣,就將libpfring.so ,pfring_e1000e_dna.h,pfring.h,libpfring.a拷貝到了usr/include或usr/lib下,同時(shí)用libpcap-1.1.1-ring的庫文件替換了原來的libpcap庫文件;

如果大家覺得這種修改內(nèi)核的方法比較復(fù)雜,下面給大家推薦一個(gè)簡單的方法到www.ntop.org,下載PF_RING-5.1.0.tar.gz包,解開PF_RING 以獨(dú)立模塊運(yùn)行就成了,沒有必要打 patch 到內(nèi)核后直接make就可以。

  1. #insmod ./pf_ring.ko 加載模塊  
  2. # dmesg | grep RING  
  3. [PF_RING] Welcome to PF_RING 3.9.3 # 這一部分是PF_RING初始化時(shí)輸出的  
  4. [PF_RING] Ring slots 4096  
  5. [PF_RING] Slot version 9  
  6. [PF_RING] Capture TX Yes [RX+TX]  
  7. [PF_RING] IP Defragment No  
  8. [PF_RING] Initialized correctly  
  9. [PF_RING] registered /proc/net/pf_ring/  
  10. [PF_RING] successfully allocated 815104 bytes at 0xd0ad4000 # 以后每次運(yùn)行PF_RING程序,會(huì)輸出這樣的調(diào)試信息  
  11. [PF_RING] allocated 4115 slots [slot_len=198][tot_mem=815104]  
  12. [PF_RING] removed /proc/net/pf_ring/2849-eth0.0 

注意,剛啟動(dòng)機(jī)器時(shí),ls /proc/net/pf_ring/ 是看不到這個(gè)目錄的,只有當(dāng)需要PF_RING的程序第一次運(yùn)行時(shí),才會(huì)生成這個(gè)目錄以及一個(gè)info文件

安裝完成后在shell下輸入:

#dmesg |grep PF_RING即可驗(yàn)證是否配置成功,參見圖4。

當(dāng)你看到如圖4所示的輸出后就預(yù)示著這次對(duì)Ntop的性能提上改造成功,這時(shí)你的Ntop系統(tǒng)在數(shù)據(jù)包捕獲性能上就比先前有所提高,能夠適應(yīng)更加大流量的網(wǎng)絡(luò)環(huán)境。

責(zé)任編輯:武曉燕 來源: 51CTO博客
相關(guān)推薦

2013-12-27 09:55:56

2020-09-07 11:10:41

監(jiān)控運(yùn)維組件

2022-03-14 22:54:57

軟件開發(fā)性能

2010-12-14 14:26:22

2009-04-27 16:27:49

LinuxKernel 2.6.Intel

2020-08-25 18:56:19

前端開發(fā)技術(shù)

2016-01-08 13:28:00

開源GrafanaZabbix

2009-12-24 10:43:03

Linux配置ntop

2022-05-16 09:48:30

Google性能優(yōu)化LCP

2011-08-22 14:06:50

linuxnoatime

2016-10-07 15:20:52

2011-03-21 15:42:14

LinuxNagios

2009-03-31 16:41:38

網(wǎng)絡(luò)性能網(wǎng)絡(luò)監(jiān)控開源

2022-02-24 17:36:21

Linuxper-cpuper-numa

2010-05-26 17:39:38

Linux性能監(jiān)控

2013-12-17 11:35:16

2010-08-30 10:17:04

POS系統(tǒng)Linux

2009-07-28 08:49:37

2023-09-11 09:37:58

開源軟件套AI模型

2023-05-25 20:06:17

Linux游戲性能
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)