Witam,
mam zaimplementowaną pewną dużą objętościowo aplikację w starym ASP.NET MVC 5 (.net framework 4.8)
Składa się ona z kilkunastu projektów oprócz głównego webowego dla pokazania skali.
W momencie gdy uruchamiam projekt lokalnie, na windowsie (IIS Express) Application_Start() wykonuje się ok 10 sekund.
Po tym czasie odpala się już okno przeglądarki i następuje b.długie ładowanie "strony głównej" - trwać potrafi to nawet 40 sekund, co wydaje się wynikiem astronomicznym.
(w tym czasie widzę pustą kartę okna przeglądarki)
Chciałbym się dowiedzieć jak rozwiązać ten problem. Jak zbadać z czego to wynika.
Jeśli chodzi o sam kod to dodam, że w projekcie znajduje się kilka tyisięcy widoków Razor oraz spora dawka kodu javascript.
Prosze o wszelkie źródła, propozycje jak dojść do głównej przyczyny problemu.
Hej
nie ma innej metody jak "zakomentowanie" wszystkie co od razu startuje na starcie z aplikacja.. jak sie zachowuje aplikacja która nie uruchamia żadnej metody/funkcji na start.. w kolejnych etapach dodawaj po jednej funkcji aż dojdziesz do tej która powoduje takie opóźnienie
To co kolega odpisał to próbowałem, nie ma róznicy.
Hej
a sama aplikacja gdzie sie znajduje.. opisz trochę środowiska.. na wirtualnej maszynie.. jak to wirtualna maszyna itd
Ja bym zaczął od zmierzenia, co zajmuje tyle czasu.
Masz tam jakąś instrumentację/logi?
Uruchom aplikację z włączonym profilerem (co najmniej CPU), potem przeanalizuj zebrane logi. Dowiesz się dokładnie, która metoda ile czasu zajęła.
Moja sugestia:
BTW Czy pusta aplikacja w identycznej konfiguracji, na tym samym środowisku też podnosi się bardzo powoli? Jeśli nie, to podokładaj do niej kolejne klocki z pierwszej apki, aż w końcu w którymś momencie zwolni i będziesz miał odpowiedź. Ta droga może jest prostsza, ale niemal na pewno będzie bardziej pracochłonna.