使用ULOGD打SYSLOG到SYSLOG-NG,当NFLOG拿到的数据包在6K左右时,CPU有两个核心占了15%左右
使用修改过的ULOGD直接打TCP,CPU只有一个核心占15%左右(修改版在https://github.com/InsZVA/ulogd-with-syslog-tcp)
使用perf top查看,
8.89% libc-2.12.so [.] vfprintf
3.49% libc-2.12.so [.] _IO_default_xsputn
2.10% [kernel] [k] find_busiest_group
1.94% libc-2.12.so [.] _IO_vfscanf
1.70% libc-2.12.so [.] __strchrnul
1.66% libpython2.7.so.1.0 [.] PyEval_EvalFrameEx
1.64% libc-2.12.so [.] _itoa_word
1.45% [kernel] [k] schedule
1.13% [kernel] [k] ixgbe_clean_rx_irq
1.08% ulogd [.] ulogd_propagate_results
1.00% [kernel] [k] _spin_lock