snmpttのdaemonモードでの秒間処理数について

Ubuntu 16.04にzabbix 3.4をインストールしました。

その際snmptrapdの設定も行ったのですが、表題の通りsnmpttの処理速度についての質問です。

■zabbixインストール後、snmp snmptrapd snmptt perl各種moduleインストール

■/etc/default/snmptrapd
TRAPDRUN=yes
TRAPDOPTS="-On -Lsd -p /var/run/snmptrapd.pid"

■/etc/snmp/snmptrapd.conf
traphandle default /usr/sbin/snmptthandler
disableAuthorization yes

■/erc/snmp/snmptt.ini以下変更箇所
mode = daemon
net_snmp_perl_enable = 1
net_snmp_perl_best_guess = 2
date_time_format = %Y/%m/%d %H:%M:%S
sleep 1
log_enable = 1
log_file = /var/log/snmptt/snmptt.log

■/etc/snmp/snmptt.confに以下を追記
EVENT general .* "General event" Normal
FORMAT ZBXTRAP $aA $*

テストトラップを投げて、snmptt.logに出力を確認。

・snmptrap自体は確実に届いている。(tcpdumpで確認済)
・/var/spool/snmpttに秒間15~20程度溜まっていて、都度snmpttの処理はされている。
・cpu使用率自体はかなり低い。(snmptrapd snmptt 共に1~3%程度)

結果snmptt.logは、上記の状況から秒間15~20程度の出力になっています。
カーネルパラメータも変えたので、数千トラップでも受けられるのですが、秒間20程度の処理です。

ここで知りたいのは
①一般的に処理速度はこの程度でしょうか?他の人はどれぐらい出ているのか伺いたいです。
②snmptrapdをよりCPUなどを使用して処理速度をあげる方法はあるのでしょうか。
③他の方法で対応する方法はあるのでしょうか?(例えばsnmptrapdをloggerで出力し(これならばかなり高速)、snmpttでの変換を後で行うような?)

参考にハードウェア情報

CPU
https://ark.intel.com/ja/products/91199/Intel-Xeon-Processor-D-1541-12M-...
D-1541
コアの数8
スレッド数16
周波数2.10 GHz
ターボ・ブースト2.70 GHz

Memory8GB

秒間数千のトラップが来る場合があり、そもそもそれを受けるのが可能かわかっていないので困っています。
少しでも情報をいただければ幸いです。
何卒よろしくお願いいたします。

コメント表示オプション

お好みのコメント表示方法を選び「設定の保存」をクリックすると変更が反映されます。
ユーザー yk_taiko の写真

大量のトラップが飛んでくるようでしたら
snmpttの「Embedded」を使用されてはいかがでしょうか。
(Zabbix のマニュアルにも記載されています)
https://www.zabbix.com/documentation/3.4/manual/config/items/itemtypes/s...

zabbix で検知するまでの時間は一旦置いといて、
snmptt までの処理であれば「Embedded handler」を使用して
秒間数百件程度であれば処理できていることを確認した事があります。
ただ、マシンスペックに左右される気がします。

設定方法
http://snmptt.sourceforge.net/docs/snmptt.shtml#Installation-Unix-Embedded

ユーザー daisukey の写真

yk_taiko 様
ご返答ありがとうございました。
ご提示の内容の通り実施したところ、秒間2000以上処理できるようになりました。
大変助かりました。ありがとうございます。