Run, nie chodzić, nad Tess blogu Ferrandez'S, If broken it is, fix it you should, która posiada dobrze skryptów laboratoria poświęcone nauce jak diagnozować i debugowania awaria, zawieszenie i problemy z pamięcią z kodem .NET. Ona ma jedne z najlepszych materiałów, które mam znalezionych do tej pory, aby pomóc Ci zacząć.
komercyjne profilowania pamięci takimi jak ANTS i SciTech są doskonałe środki, które pokażą, jakie obiekty znajdują się w sterty i jak są one zakorzenione. Większość komercyjnych profilerów pamięci ma możliwość załadowania "migawki" pamięci procesu (powiedzmy ze środowiska produkcyjnego).
Można przechwycić "przyciąganie" pamięci (patrz Snap v. Dump) za pomocą adplus.vbs lub DebugDiag. Adplus jest dostępny jako część Debugging Tools for Windows. DebugDiag będzie również miał elementarną analizę (ale wydaje się być bardziej niezawodny na niezarządzanym kodzie) automagicznie.
monitorować stosowanie
pomysłu na to, co do monitorowania, patrz Improving .NET Performance and Scalability, a konkretnie rozdział 15.
, jak monitorowanie, istnieją narzędzia komercyjne dostępne za to jak dobrze, jednak każdy system Windows maszyna jest również wyposażona w Perfmon.exe, której można używać do rejestrowania odpowiednich liczników wydajności.
przetestować aplikację
pomysłu, w jaki sposób wykonać obciążenia lub stres, testy, sprawdź wzorców i praktyk Performance Testing Guidance for Web Applications.
debugowania aplikacji
Po zidentyfikowaniu masz problem (monitoring), a w stanie odtworzyć problemu (testowania) można zejść do debugowania problemu. Zobacz linki do Tess - ta informacja niesie ze sobą długą drogę.
Następnie spłucz i powtórz! :)
Powodzenia!
Z
Mieliśmy podobny problem, jednak gdy używamy wiele narzędzi firm trzecich i wiele niestandardowych aplikacji, jej trudno zmienić wszystko, najlepiej jest , mieliśmy zaplanowane zadanie, aby wykonać miękki restart co noc, gdy nie ma żadnego użytkownika zalogowanego, w ciągu 5 minut serwer jest już gotowy, ale pewnie to pomaga, a następnie przekodowuje wiele rzeczy, problem polega na tym, że wszyscy deweloperzy nie robią poprawnego kodowania i nie używają dobrych narzędzi! ! –