vyuka:cviceni:y36sps:semestralky:herbol1

Lukáš Heřbolt

Zadání: SNMP monitorovací zařízení - porovnání rychlosti získávání dat pomocí getnext a getbulk.

Řešení 1: V jazyku Python jsem pomocí balíku pysnmp iplementoval snmp getnext. Program je vytvořen pouze jako zkušební má napevno stanoveno kam se má připojit. Výstupem je počet nalezených interface čas stahování dat z jednotlivých interface a celkový čas běhu programu.

Řešení 2: Druhý program je taktéž implementovaný v jazyku python, ale místo požadavku getnext má getbulk. Tento program jsem napsal už je rosáhlejší než předchozí. Skládá se ze dvou souborů interface.py ipwatch.py. První soubor obsahuje funkce na stažení dat pomocí getbulk jejich rozpársrování a uložení buď do csv souboru nebo do předpřipravené tabulky v MySQL databázi. V druhém souboru dojde na začátku k načtení dat z konfiguračního souboru poté se vytvoří tolik vláken kolik sledujeme hostů, vlákna získají a uloží data pomocí funkcí z prvního souboru a celý program usne na uživatelem stanovenou dobu.

Výsledek: Přesto že druhý program stahuje o pár dat více než první pokusné řešení, je mnohem rychlejší. Prvnímu řešení trvá stažení a rozpársrování dat zhrba 12 vteřin zatímco druhému řešení se čas běhu pohybuje kolem 1.32 vteřiny!!! Ješte zajímavější je srovnání počtu odeslaných a přijatých paketů první řešení přijme a odešle 116 paketů oproti 182 paketů odeslaných a přijatých druhým řešením (větší počet paketů je způsoben větším množstvím stahovaných dat).

Prezentace

zdrojové kódy

Schválení: NE

  • vyuka/cviceni/y36sps/semestralky/herbol1.txt
  • Last modified: 2008/05/30 06:12
  • by herbol1