GithubHelp home page GithubHelp logo

snmpbench's Introduction

snmpbench

Benchmark for snmp libraries.

The benchmark is focused on how the library perform (Speed, Memory, CPU usage, etc) under different settings (batch size, rounds, sessions, etc).

Results can be viewed here: https://datadoghq.dev/snmpbench/

Benchmarked libraries

Methodology

We run different scenarios for each library and collect measures we are interested in.

For each library, we created a program that accept various parameters (pysnmp, netsnmp, gosnmp)

Scenarios parameters:

  • Batch size: the number of OID requested per call
  • Rounds: the number of time the scenario is run
  • Sessions: the number of instances of the library session/engine we create

Measurements:

  • Duration per OID (ms): Average time to retrieve an OID value
  • Max RSS (KBytes): maximum resident set size used by the program while running the scenario
  • User time (sec): total user time taken to run the scenario
  • System Time (sec): total system time taken to run the scenario
  • Elapsed Time (sec): total elapsed wall clock time taken to run the scenario

Except for Duration per OID, other measurements are collected using /usr/bin/time.

How to run locally

Requirements:

apt install -y libsnmp-dev
pip install -r requirements.txt
go get github.com/soniah/gosnmp

Run snmpsim:

docker-compose -f environment/  up -d

Run benchmark:

python run_bench.py localhost 1161 --oid-batch-size 10 --sessions 1 --rounds 1

Run scenarios:

python build_batch_size.py
python build_round.py
python build_session.py

See results in docs/generated_data

snmpbench's People

Contributors

alexandreyang avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.