Narzędzia i metody monitorowania na żywo ASP.NET aplikacje internetowe?
Myślę, że wielu programistów wie, że nieprzyjemne uczucie, gdy użytkownicy mówią im, że " aplikacja jest powolna (znowu)."
W złożonej aplikacji internetowej może istnieć wiele możliwych przyczyn pogorszenia (postrzeganej) wydajności: powolna odpowiedź bazy danych, problemy z przepustowością, złe buforowanie itp. Z pewnością istnieją problemy, które nigdy nie wystąpią w środowisku deweloperskim lub inscenizacyjnym.
Teraz moje pytanie:
Czy istnieje zestaw narzędzi i / lub metod co zapewni kompleksowy stan "na żywo" w systemie produkcyjnym IIS/ASP.NET/SQL Server w sposób wizualny (nie tylko liczniki wydajności):
- bieżące żądania HTTP (powiedzmy Ostatnie N minut)
- wyjątki / timeouty
- Bandwidth data
- liczba otwartych połączeń / wywołań baz danych
- ...
Głównym celem jest, aby zobaczyć na pierwszy rzut oka (lub po przyjrzeniu się bliżej), jaki problem jest przyczyną wydajności problemy.
4 answers
Myślę, że kategoria oprogramowania, którego szukasz to". net profiler "lub".NET tracer". Jednym z takich narzędzi, które można rozważyć jest JetBrains ' dotTrace . Daje ślady stosu uruchomieniowego i tablicę liczników, które wskazują możliwe wąskie gardła.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-11-03 16:48:40
Wspomniane wcześniej narzędzia z pewnością zadziałają. W naszym sklepie potrzebowaliśmy dokładniejszych informacji i zbudowaliśmy własne rozwiązanie (długa historia: łatwiej było kodować niż kłócić się o narzędzia i dane do pobrania).
Użyłem LogParser do przeglądania dzienników IIS i tworzenia raportów wyjściowych z tych dzienników (np. podziały kodu wyniku itp.).
Użyłem kombinacji liczników wydajności i wartości WMI, aby uzyskać resztę - możesz je odczytać za pomocą dość prostego C# - daje to pełną kontrolę, którą możesz następnie zrzucić .csv itp do przeglądania/przetwarzania w programie excel lub jeśli aktualizujesz stronę jako centrum sterowania.
Pewnie też bym spojrzał na IIS.net jako świetny zasób dla narzędzi IIS, w tym debugowania, zabezpieczeń itp.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-11-03 17:43:47
Posłuchałem Rady uriga i znalazłem to oprogramowanie o nazwie SmartInspect .
Czy ktoś zna to narzędzie do rejestrowania/monitorowania? Wydaje się, że jest to połączenie konsoli czasu rzeczywistego i biblioteki programistów.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:16:47
CLR 4.5 będzie miał kilka nowych możliwości, które pomogą Ci monitorować ASP.NET wydajność na żywo-bez ponownego uruchamiania aplikacji. Zasadniczo możesz ponownie JIT swój kod, aby uwzględnić w nim niektóre Hooki monitorujące, a następnie sprawdzić czas spędzony w klasach / metodach itp.
Jestem pewien, że dotTrace i inne narzędzia do profilowania wykorzystają to automatycznie, ale warto sprawdzić: C9-Inside Re-JIT with David Broman
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-09-23 19:34:10