1

簡単な例があります:

netsnmpをインポートします
var = netsnmp.Varbind('ifHCInOctets'、 '0')
res = netsnmp.snmpgetnext(var、Version = 2、DestHost ='localhost'、Community ='public'、Timeout = 1000000)
印刷解像度[0]

時間python2test.py
見せて:

実数0分4.086秒
ユーザー0m0.073s
sys 0m0.007s

なぜ4秒=1000000?snmpdサーバーがローカルホストで機能しない

4

1 に答える 1

4

合格Timeout=?すると、タイムアウトを登録する前にsnmpの内部選択ループが待機する最大時間を設定します。1000000これを「100万マイクロ秒待つ」という意味に設定すると、1秒になります。

ただしRetries=?、タイムアウト後にsnmpクライアントが要求を再試行する回数を指定する引数もあります。そのため、Timeout=1000000, Retries=0selectの場合、1秒間に1つの要求とタイムアウトのみが試行されます。Retries=12回試行し、2秒でタイムアウトする場合。

したがって、タイムアウトと再試行の組み合わせに応じて、遅延の量が異なります。

デフォルトの再試行回数は3回であるため、1回の試行+各1秒の3回の再試行=4秒。

于 2011-04-26T18:03:45.780 に答える