Vra

Wat profilers het jy gebruik om by die werk met .netto programme, en wat sou jy veral aanbeveel?

Was dit nuttig?

Oplossing

Ek gebruik JetBrains dotTrace en Redgate MIERE omvattend. Hulle is redelik soortgelyk in eienskappe en prys. Hulle het albei bied nuttige prestasie profilering en heel basiese geheue profilering.

dotTrace integreer met Resharper, wat is werklik gerieflik, as jy die prestasie van 'n eenheid toets kan profiel met net een kliek van die IO. Maar dotTrace lyk dikwels na vals resultate (bv sê dat 'n metode het 'n paar jaar om te hardloop) gee

Ek verkies om die pad wat MIERE bied die profilering resultate. Dit wys jou die bronkode en aan die linkerkant van elke lyn vir jou vertel hoe lank dit geneem het om te hardloop. dotTrace het net 'n verkenner.

EQATEC profiler is nogal basiese en vereis dat jy spesiale toegeruste weergawes van jou gemeentes saam te stel wat kan dan uitgevoer word in die EQATEC profiler. Dit is egter gratis.

In die geheel Ek verkies MIERE vir prestasie profilering, maar as jy Resharper gebruik dan die integrasie van dotTrace is 'n moordenaar funksie en beteken dit klop MIERE in bruikbaarheid.

Die gratis Microsoft CLR Profiler ( NET Framework 2.0 / Net Framework 4.0 ) is alles wat jy nodig het vir NET geheue profilering.

2011 Update:

Die Scitech geheue profiler het nogal 'n basiese UI maar baie nuttige inligting, insluitend 'n paar inligting oor onbeheerde geheue wat dotTrace en miere gebrek - jy kan dit nuttig as jy doen COM interop vind, maar ek het nog nie enige profiler dat COM geheue probleme maklik om te diagnoseer maak vind - jy gewoonlik om te breek uit windbg.exe

.

Die MIERE profiler gekom op met rasse skrede in die laaste paar jaar, en sy geheue profiler het 'n paar werklik nuttige funksies wat nou gestoot dit voor dotTrace as 'n pakket in my skatting. Ek is gelukkig genoeg om lisensies vir albei, maar as jy gaan een Net profiler koop vir beide prestasie en geheue, maak dit miere.

Ander wenke

Ander gedek prestasie profilering, maar met betrekking tot geheue profilering Ek is tans die evaluering van beide die Scitech NET Memory Profiler 3.1 en miere Memory Profiler 5.1 (huidige weergawes as September 2009). Ek het probeer om die JetBrains een 'n jaar of twee gelede en dit was nie so goed soos MIERE (vir geheue profilering) so ek het nie gepla hierdie tyd. Uit die lees van die webwerwe dit lyk asof dit nie dieselfde nie geheue profiel kenmerke as die ander twee.

Beide miere en die Scitech geheue profiler het eienskappe wat die ander doen nie, so wat is die beste sal afhang van jou voorkeure. Oor die algemeen, die Scitech een bied meer inligting, terwyl die MIERE een is regtig ongelooflik by die identifisering van die lek voorwerp. Algehele, ek verkies die MIERE een, want dit is so vinnig by die identifisering van moontlike lekkasies.

Hier is die hoof van die voor- en nadele van elk uit my ervaring:

algemene kenmerke van miere en Scitech NET Memory Profiler

  • Real-time analise funksie
  • Uitstekende hoe-om-video's op hul webwerwe
  • Maklik om te gebruik
  • Redelike performante (natuurlik stadiger as sonder die profiler aangeheg, maar nie soseer jy gefrustreerd raak)
  • Wys gevalle van lekkende voorwerpe
  • Eintlik het hulle albei doen die werk baie goed

MIERE

  • Een-kliek filters om gemeenskaplike lekkasies te vind , insluitend: voorwerpe aan die lewe gehou net deur event handlers, voorwerpe wat van die hand gesit, maar nog steeds leef en voorwerpe wat net om die lewe deur 'n verwysing van 'n hand gesit voorwerp gehou . Dit is waarskynlik die moordenaar funksie van miere - vind lekkasies is ongelooflik vinnig as gevolg van hierdie. In my ervaring, die meerderheid van lekkasies word veroorsaak deur event handlers nie haak en miere net neem jou reguit na hierdie voorwerpe. Awesome.
  • behoud Object grafiek. Terwyl dieselfde inligting is beskikbaar in Scitech, dit is baie makliker om te interpreteer in MIERE.
  • Programme grootte met kinders in toevoeging tot die grootte van die voorwerp self (maar net vir 'n geval ongelukkig gekies, nie in die algehele klaslys).
  • Beter integrasie te Visual Studio (regs-kliek op grafiek om na lêer)

Scitech NET Memory Profiler

  • Programme stapel spoor wanneer voorwerp toegeken. Dit is regtig nuttig vir voorwerpe wat in baie verskillende plekke word toegeken. Met MIERE is dit moeilik om te bepaal presies waar die uitgelek voorwerp is geskep.
  • Programme telling van besteebare voorwerpe wat nie van die hand gesit. Hoewel dit nie 'n aanduiding van 'n lek, neem dit identifiseer geleenthede om hierdie probleem op te los en jou aansoek prestasie as gevolg van vinniger vullisverwydering te verbeter.
  • Meer gedetailleerde filter opsies (verskeie kolomme kan onafhanklik gefiltreer).
  • Bied inligting oor geskep totale voorwerpe (insluitend dié vullis ingesamel). MIERE toon slegs 'lewendige 'n voorwerp statistieke. Dit maak dit makliker om te analiseer en tune algehele toediening prestasie (bv. Identifiseer waar baie voorwerpe onnodig geskep wat nie noodwendig lek).

Deur middel van opsomming, ek dink MIERE help jy vind wat vinniger lek terwyl Scitech bied 'n bietjie meer detail oor jou algehele toediening geheue prestasie en individuele voorwerpe sodra jy weet wat om te kyk na (bv. Stapelspoor op die skepping). As die stapel spoor en die dop van Onafgehandelde besteebare voorwerpe om MIERE bygevoeg sou ek nie sien die behoefte om enigiets anders te gebruik.

Ek het onlangs ontdek EQATEC Profiler http://www.eqatec.com/tools/profiler. Dit werk met die meeste NET weergawes en op 'n klomp van die platforms. Dit is maklik om te gebruik en dele daarvan is gratis, selfs vir kommersiële gebruik.

[ Full Disclosure ]

Hoewel nog nie as volledige as 'n paar van die ander NET geheue hier gelys profilers, daar is 'n nuwe inskrywing op die mark genaamd JustTrace . Dit is gemaak deur Telerik en dis primêre doel is om te maak opsporing / profilering makliker en vinniger te doen vir alle vorme van programme (web / Silver / lessenaar).

As jy al ooit gevind profilering en optimalisering intimiderend of stadig met ander gereedskap, dan JustTrace mag 'n blik werd.

Moenie vergeet nProf - 'n ook perfect goeie, freeware profiler.

Ek het gevind dotTrace Profiler deur JetBrains om 'n uitstekende profilering instrument vir NET en hul ASP.NET modus is kwaliteit. wees

miere Profiler . Ek het nie gebruik baie, maar ek het nie regtig enige klagtes oor MIERE. Die visualisering is regtig nuttig.

AutomatedQA AQTime vir tydsberekening en Wereld MemProfiler vir geheue.

As jy op soek na iets vinnig, maklik en gratis http://code.google com / p / slimtune / lyk die werk boete doen.

Ek werk met JetBrains dotTrace vir Winforms en Console Apps (nie getoets op ASP NET nog), en dit werk baie goed:

Hulle het onlangs ook bygevoeg 'n "Persoonlike License" dit is aansienlik goedkoper as die korporatiewe een. Tog, as iemand anders weet sommige goedkoper of selfs gratis koerante, wil ek graag sowel hoor: -)

Moenie vergeet om die ongelooflike Scitech NET geheue profiler

Dit is 'n groot vir die opsporing van hoekom jou net app is besig om van die geheue.

Ek wil byvoeg dat vermoë dotTrace se diff geheue en prestasie spoor sessies is absoluut van onskatbare waarde (MIERE kan ook 'n geheue diff funksie, maar ek het nie 'n opvoering diff).

In staat is om 'n profiel sessie loop voor en na 'n fout fix of verbetering, dan vergelyk die resultate is ongelooflik waardevol, veral met 'n reuse nalatenskap NET aansoek (soos in my geval) waar prestasie was nooit 'n prioriteit en waar vind knelpunte kan baie vervelige wees. Doen 'n voor-en-na diff laat jou toe om die verandering in oproep telling vir elke metode te sien en die verandering in duur vir elke metode .

Dit is nuttig nie net tydens kode veranderinge, maar ook as jy 'n program wat 'n ander databasis gebruik, sê, vir elke kliënt / klant. As 'n kliënt kla van traagheid, kan jy 'n profilering sessie hardloop met behulp van hul databasis en vergelyk die resultate met 'n "vinnige" databasis te bepaal watter bedrywighede dra by tot die traagheid. Natuurlik is daar baie databasis-kant prestasie gereedskap, maar soms het ek regtig help om die ding statistieke van die aansoek kant sien (want dit is nader aan wat die gebruiker is eintlik sien).

Bottom line:. DotTrace werk baie goed, en die verskil is van onskatbare waarde

AQTime is redelik, maar het 'n bietjie van 'n leerkurwe en is nie so maklik om te gebruik as die gebou in een in Team Suite

In die verlede, het ek die profiler gebruik wat skepe met Visual Studio Team System .

Die huidige weergawe van Sharp Develop (3.1.1) 'n mooi geïntegreerde profiler het. Dit is nogal 'n vinnige en integreer baie goed in die Sharp Develop IDE en sy NUnit naaswenner. Resultate word vertoon in 'n buigsame Tree / Lys styl (gebruik LINQ na jou eie keuse te skep). Te dubbel die vertoon metode spring direk na die bron-kode.

Ek het met profiler RedGate in die verlede gewerk het. Het die werk vir my.

Het dit nie probeer myself nie, maar miskien dotTrace ? Hul ReSharper aansoek is beslis 'n goeie een. Miskien dotTrace te:)

Ek twyfel dat die profiler wat kom met Visual Studio Team System is die beste profiler, maar ek het gevind dat dit goed genoeg wees by verskeie geleenthede. Wat spesifiek te doen wat jy nodig het as wat VS bied?

EDIT: Ongelukkig is dit slegs beskikbaar in VS-span System, maar as jy het toegang tot dat dit die moeite werd uitcheck.

Die jongste weergawe van miere geheue profiler (Ek dink dit is 5) net rotse !!! Ek is 'n lek met behulp van WinDbg en SOS spook aangesien dit geblyk die beste manier voor wees, dan probeer ek miere en ek het dit in minute. Regtig 'n wonderlike stuk van sagteware.

Ek wil graag by te voeg yourkit Java en NET profiler, ek is mal daaroor om Java, hawe ' t probeer NET weergawe though.

ongelukkige meeste van die profilers Ek het probeer misluk wanneer dit gebruik word met stert oproepe, veral MIERE. Ek eindig net tot die skryf van my eie. Daar is 'n eenvoudige implementering op CodeProject wat jy kan gebruik as 'n basis.

Moet ek bring'n ongelooflike hulpmiddel om jou kennis wat ek gebruik het iewers terug. AVICode Interceptor Studio.In my vorige maatskappy wat ons gebruik hierdie wonderlike hulpmiddel tot die profiel van die webapplication (Dit is veronderstel om te wees die grootste enkele web aansoek in die wêreld en die grootste burgerlike DIT projek ooit gedoen het).Die prestasie van die span het wonders met die hulp van hierdie wonderlike hulpmiddel.Dit is'n pyn om dit te stel, maar dit is'n eenmalige aktiwiteit en ek sou sê dit is die moeite werd om die tyd.Checkout hierdie bladsy vir besonderhede.

Dankie, James

Vir my SpeedTrace is die beste instrument op die mark, omdat dit nie net help om knelpunte in jou programme te vind. Dit help ook om jou in die oplos van probleme scenario's om uit te vind waarom jou aansoek is gekraak, het jou opstel nie installeer, jou aansoek hang, jou aansoek prestasie is soms swak, afhangende van die data insette, bv om stadig db transaksies te identifiseer.

Ek het al die toets van Telerik se JustTrace onlangs en alhoewel dit ver weg van 'n voltooide produk die ouens gaan in die regte rigting.

As Lisensiëring is 'n probleem wat jy kan WINDBG probeer vir geheue profiel

Die NuMega Ware Tyd profiler leef voort in DevPartner Studio deur Mikro Focus. Dit bied lyn en metode vlak detail vir NET programme wat net PDBs, geen bron nodig (maar help dit.) Dit kan diskrimineer tussen algoritmies swaar roetines teenoor diegene met 'n lang I / O wag met behulp van ons eie per draad kern af tydsberekening bestuurder. Weergawe 10.5 skepe met 'n nuwe 64-proses steun op 4 Februarie 2011. Shameless prop: Ek werk op die DevPartner produk lyn. Opvolg by http://www.DevPartner.com vir nuus van die 10.5 bekendstelling.

Disclaimer:. Ek is die produk bestuurder vir DevPartner by Mikro Fokus

Ek het gevind dat baie van die probleme in'n groot C# app met behulp van hierdie.

Gewoonlik is die probleem ontstaan tydens die begin of afsluit as plugins is gelaai, en'n groot data strukture wat geskep word, vernietig, serialized, of deserialized.Hulle is dikwels geskep en geïnisialiseer meer as een keer, en verander hanteerders kry bygevoeg verskeie kere, verdere samestelling van die probleem.

In gevalle soos hierdie, die program kan so traag dat slegs 2 monsters is voldoende om vas te stel die skuldige metode / funksie / eiendom noem webwerwe.

Ons gekies YourKit Profiler vir NET in my maatskappy as dit was die beste waarde (prys teen funksie). Vir 'n klein maatskappy wat wil buigsaam lisensiëring (drywende lisensies) het was dit 'n perfekte keuse - MIERE was ontwikkelaar sitplek medaillon ten tyde

.

Ook, dit het ons voorsien van die vermoë om te heg aan die gang proses wat nie moontlik was met dotTrace. Pasop vir al wat heg is nie die beste opsie as alles NET sal afneem, maar dit was die enigste manier om NET programme wat begin is deur ander prosesse profiel. Funksie wys, miere en dotTrace was beter -. Maar in die einde YourKit was goed genoeg

As jy op ASP.NET MVC, kan jy probeer MVCMiniProfiler (http://benjii.me/2011/07/using-the-mvc-mini-profiler-with-entity-framework/)

Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top