Ostatnio mamy problemy z blokowaniem bazy danych Oracle w jednym znanym nam zapytaniu.
Opiszę, co się stanie, ale tak naprawdę nie ma to zbyt wiele wspólnego z moim pytaniem, ale jestem otwarty na sugestie.
Niekiedy nie wiadomo, kiedy to się stanie, zdarzyło się 4 razy w ciągu ostatniego miesiąca, użytkownik kliknie coś w aplikacji. To, co użytkownik klika, jest nadal nieznane. Po kliknięciu uruchomione zostanie zapytanie do bazy danych, które wygeneruje około 700 tys. Wierszy.
Sprawdziłem tabelę, dla której zapytanie jest uruchamiane, a indeksy wyglądają dobrze.
Baza danych ma 60 GB, na serwerze jest 32 GB.
Z dzienników na serwerze bazy danych widzę wysokie operacje we / wy, ale procesor i pamięć RAM pozostają takie same.
Na jednym serwerze aplikacji procesor wzrasta do około 75%. Mogę znaleźć proces roboczy, znaleźć PID, jednak gdy zabiję PID związany z procesem roboczym, procesor na krótko spadnie, a następnie ponownie wróci.
Również recykling puli aplikacji i ponowne uruchomienie IIS robi to samo, procesor na krótko spadnie, a następnie ponownie wróci.
Jedyne, co można zrobić, aby przywrócić serwer do linii, to ponowne uruchomienie.
Więc moja sugestia JEŻELI to zapytanie powoduje zawieszanie się pamięci, można zwiększyć pamięć na pudełku, aby baza danych mogła zostać buforowana i zabrakło pamięci. Słyszałem to raz, ale nie jestem pewien, czy to prawda.
Pamięć masowa to HP PAR 3 z 3 warstwami, a baza danych prawie żyje w warstwie SSD.
Który jest szybszy SSD lub pamięć