Ko razvijamo .NET aplikacije, se ne ukvarjamo toliko z samo perfomanco aplikacije, saj je v ogrodju .NET poskrbljeno za avtomatsko čiščenje spomina (Garbage Collector) pa tudi strojna oprema ni več toliko draga.
Vsake toliko časa pa smo zaradi “počasnega” delovanja aplikacije prisiljeni, da analiziramo našo kodo in ugotovimo, kje so takoimenovani bottle neck-i oziroma ozka grla. Problem nastane, ko je te kode veliko ali pa preprosto želimo videti, kako se naša aplikacija obnaša, kdaj pokuri največ spomina, od katerih procesov je odvisna ter še marsikaj, da nam pomaga rešiti problem pri stranki.
Microsoft je v ta namen pripravil par orodij, s katerimi tudi sam preverja delovanje svojih produltov. Eden izmed teh je VMMap, ki služi za fizično in virtualno analiziranje spomina procesov. Zelo koristno orodje, ki se tudi pogosto uporablja, je CLR profiler. Uporaba je lepo opisana v tem članku.
Kako deluje VMMap?
- prenesemo si ga s te strani (ali pa si prenesete celoten nabor orodij)
- razpakirajte prenešeno zip datoteko na željeno lokacijo
- zaženete vmmap.exe
- izberete trenutni proces in dobite vizualno predstavitev spomina (koliko je uporabljenega delovnega spomina, dostop do tega spomina, kopica, deljenega spomina z drugimi procesi,…)
- lahko ga shranite kot mmp datoteko, kar lahko potem (ko popravite kodo) z dvoklikom odprete v orodju VMMap
Orodje ima tudi bogato dokumentacijo in možnost uporabe iz ukazne vrstice.
Če povzamem, za preverjanje perfomanse, so najboljša orodja tale:
- VMMap
- Windows SDK (Xperf, bootmgr)
- CLR profiler