Strona główna > .NET > Ile wątków angażuje proces aplikacji czyli zabawy z klasą Process

Ile wątków angażuje proces aplikacji czyli zabawy z klasą Process

Dzisiaj potrzebowałem w celach diagnostycznych sprawdzić jak się ma aplikacja po kilku dniach działania na produkcji. Ponieważ proces dostępu do środowiska klienta jest skomplikowany potrzebowałem mechanizmu, który będę mógł wbudować w aplikację by diagnozowała się sama i wysyłała mi raporty o tym co się “u niej dzieje”.

Na pierwszy ogień poszła ilość wątków i ich stan. Nie od dziś wiadomo, że wątki:

  • obciążają system operacyjny – czyż nie po to choć trochę powstały Taski?
  • kosztują Nas niepotrzebnie RAM
  • mamy ich limitowaną ilość w aplikacji

Tak samo jak z połączeniami do bazy tak samo tutaj powstały mechanizmy oszczędzania wątków i możliwości pobrania ich z specjalnych pól by choć trochę zniwelować problemy opisane wyżej –> ThreadPool.

Ale czy na pewno wiemy, że zrobilismy wszystko co mogliśmy i że wszystko tam “daleko” od Naszego komputera działa poprawnie? NIE

C#/NET posiada właściwość Process.GetCurrentProcess().Threads która pozwala przeiterować i spradzić ilość oraz stan.

 

Console.WriteLine(Process.GetCurrentProcess().Threads.Count);

            for (int i = 0; i < Process.GetCurrentProcess().Threads.Count; i++)
            {
                var thread = Process.GetCurrentProcess().Threads[i];
                Console.WriteLine(thread.Id + " " + thread.ThreadState);
            }

 

W żaden sposób to jeszcze nic nie mówi, dopiero obserwacje aplikacji, ilości użytkowników, ilości wątków i ich stanów mogą mieć dla Nas finalnie sens.

Kategorie:.NET Tagi:
  1. Brak komentarzy.
  1. No trackbacks yet.

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Log Out / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Log Out / Zmień )

Facebook photo

Komentujesz korzystając z konta Facebook. Log Out / Zmień )

Google+ photo

Komentujesz korzystając z konta Google+. Log Out / Zmień )

Connecting to %s

%d blogerów lubi to: