Ohjelmointi

Kuinka työskennellä suorituskykylaskureiden kanssa C #: ssä

Windows seuraa järjestelmässäsi käynnissä olevia prosesseja ja palveluita seuraamalla parhaillaan suoritettavia säikeitä, CLR-muistia jne. Sinun on usein mitattava tietokonejärjestelmien tai niissä toimivien sovellusten suorituskyky mittareihin, kuten resurssien kulutukseen järjestelmässä, järjestelmässä toimiviin palveluihin tai järjestelmään liitettyjen laitteiden suorituskykyyn.

Suorituskykylaskurit (oletusarvoisesti toimitettu ominaisuus) antavat meille mahdollisuuden kaapata, julkaista ja analysoida yhden tai useamman sovelluksen tai palvelun suorituskykyä koskevia tietoja järjestelmässä tai koko järjestelmässä.

Rakennettaessa sovelluksia joudut usein joutumaan seuraamaan sen suorituskykyä (resurssien kulutus tai käyttö tietyn ajanjakson ajan) ja käyttämään suorituskykytietoja sovelluksen pullonkaulojen tunnistamiseen. Tässä on suorituskyvyn laskurit hyödyllisiä. Voit myös käyttää WMI: tä (Windows Management Instrumentation), COM-pohjaista Microsoft-tekniikkaa, näiden tietojen hakemiseen, mutta suorituskykylaskurit tarjoavat sinulle tavan saada reaaliaikaiset tilastot järjestelmän resurssien kulutuksesta ajon aikana.

Suorituskykymonitoria (oletusarvoisesti Windows-käyttöjärjestelmässä toimitettu työkalu) voidaan käyttää suorituskykytietojen tarkasteluun reaaliajassa. Käynnistä tämä työkalu napsauttamalla Käynnistä-valikkoa ja napsauttamalla "Suorita". Kirjoita seuraavaksi "perfmon" ja paina Enter.

Mukautetut suorituskykylaskurit

Mukautettujen suorituskykylaskureiden luominen on helppoa. Voit luoda suorituskykylaskureita Server Explorerilla. Sinun on ensin luotava suorituslaskuriluokka ja sitten luotava yksi tai useampi laskuri osana tätä luokkaa.

Voit työskennellä suorituskykylaskureiden kanssa ohjelmallisesti käyttämällä System.Diagnostics.PerformanceCounter-luokkaa. Sinun on luotava PerformanceCounter-luokan ilmentymä ja määritettävä sitten tarvittavat arvot kullekin näistä ominaisuuksista: CategoryName, CounterName, MachineName ja ReadOnly.

Mukautetun suorituskykylaskuriluokan luominen edellyttää, että hyödynnät PerformanceCounterCategory-luokan Luo-menetelmää. Esimerkiksi seuraavaa koodinpätkää voidaan käyttää mukautetun suorituskykylaskurin luokan luomiseen.

PerformanceCounterCategory.Create ("CustomPerformanceCounterCategoryName", "CustomPerformanceCounterHelp", PerformanceCounterCategoryType.MultiInstance,

"CustomPerformanceCounterName", "CustomPerformanceCounterHelp");

Seuraava koodinpätkä osoittaa, kuinka voit näyttää kaikki saatavilla olevat suorituskykylaskurin luokat.

staattinen void Main ()

    {

var performanceCounterCategories = PerformanceCounterCategory.GetCategories ();

foreach (PerformanceCounterCategory performanceCounterCategory performanceCounterCategories)

        {

Console.WriteLine (performanceCounterCategory.CategoryName);

        }

Konsoli.Lue ();

    }

Seuraava koodinpätkä kuvaa, kuinka voit noutaa suoritinluokkaan kuuluvat suorituskykylaskurit.

var performanceCounterCategories = PerformanceCounterCategory.GetCategories ()

.FirstOrDefault (category => category.CategoryName == "Suoritin");

var performanceCounters = performanceCounterCategories.GetCounters ("_ Yhteensä");

Sinun on käytettävä PerformanceCounter-luokkaa tiettyyn luokkaan kuuluvan suorituskykylaskurin lukemiseen. Huomaa, että PerformanceCounter-luokka on käytettävissä System.Diagnostics-nimiavaruudessa. Tässä on täydellinen koodiluettelo, joka näyttää, kuinka voit näyttää kaikkien Suorittimet-luokkaan kuuluvien suorituskykylaskurien suorituskykylaskurien nimet.

staattinen void Main ()

    {

var performanceCounterCategories = PerformanceCounterCategory.GetCategories ()

.FirstOrDefault (category => category.CategoryName == "Suoritin");

var performanceCounters = performanceCounterCategories.GetCounters ("_ Yhteensä");

Console.WriteLine ("Suoritinluokan suorituskykylaskureiden näyttäminen: - \ n");

foreach (PerformanceCounter performanceCounter performanceCounters)

        {

Console.WriteLine (performanceCounter.CounterName);

        }

Konsoli.Lue ();

    }

Voit myös luoda mukautetun suorituskykylaskurin ja kirjoittaa niihin tietoja. Tätä varten sinun tulisi hyödyntää CounterCreationDataCollection- ja CounterCreationData-luokkia.

String customCategory = "Mukautetun suorituskyvyn laskuriluokka";

if (! PerformanceCounterCategory.Exists (customCategory))

{

CounterCreationDataCollection counterCreationDataCollection = uusi CounterCreationDataCollection ();

counterCreationDataCollection.Add (uusi CounterCreationData ("Laskuri 1", "Laskurinäyte 1", PerformanceCounterType.ElapsedTime));

counterCreationDataCollection.Add (uusi CounterCreationData ("Counter 2", "Sample Counter 2", PerformanceCounterType.SampleCounter));

counterCreationDataCollection.Add (uusi CounterCreationData ("Laskuri 3", "Laskurinäyte 3", PerformanceCounterType.SampleCounter));

PerformanceCounterCategory.Create (customCategory, "Tämä on vain esimerkki", PerformanceCounterCategoryType.SingleInstance, counterCreationDataCollection);

}

Huomaa, että tarkistus on tehty vahvistamaan, onko luotava mukautettu suorituskykylaskuri jo olemassa. Mukautettu suorituskykylaskuri luodaan vain, jos sitä ei ole olemassa. Seuraavaksi luodaan CounterCreaionDataCollection-ilmentymä. CounterCreationData-luokan avulla kokoelmaan lisätään uusia laskureita. Kun tarvittavat laskurit on lisätty, PerformanceCounterCategory-luokan Luo-menetelmä kutsutaan luomaan mukautettu suorituskykyluokka.

Huomaa, että sovelluksellasi on oltava tarvittavat käyttöoikeudet tarvitsemiesi suorituskyvyn laskureiden käyttämiseen. Suosittelen aina Visual Studio IDE: n käynnistämistä Järjestelmänvalvoja-tilassa. Suorituskykylaskurit auttavat paljon analysoimaan sovellustesi suorituskykyä - voit analysoida suorituskykytiedot sovelluksen suorituksen aikana.

$config[zx-auto] not found$config[zx-overlay] not found