Spowolnienie narasta stopniowo i przez długi czas jest przypisywane „starzeniu się systemu". Przyczyny są zwykle konkretne i usuwalne.
Najczęstsze przyczyny
- brak regularnej konserwacji bazy danych,
- bardzo duża liczba dokumentów w bazie roboczej,
- raporty odpytujące pełną historię,
- integracje odpytujące system zbyt często,
- niewystarczająca pamięć serwera bazy.
Warto zacząć od ustalenia, czy wolno działa wszystko, czy tylko wybrane czynności. Spowolnienie ogólne wskazuje na bazę albo sprzęt. Spowolnienie jednej operacji wskazuje na konkretne zestawienie albo na sposób jego przygotowania — i wtedy naprawa jest znacznie tańsza.
Konserwacja
Przebudowa indeksów i aktualizacja statystyk. Czynność zajmująca minuty, dająca efekt większy niż większość pozostałych działań.
Musi się odbywać regularnie i automatycznie, poza godzinami pracy. Wykonana raz, przy okazji zgłoszenia, daje poprawę, która po kilku tygodniach znika — i utrwala przekonanie, że problem leży gdzie indziej.
Sprzęt
Pamięć i szybki dysk mają największe znaczenie. Dołożenie pamięci bywa najtańszym usprawnieniem.
Zanim jednak padnie decyzja o zakupie, warto sprawdzić, co faktycznie jest wąskim gardłem. Wymiana serwera przy zaniedbanej konserwacji bazy daje poprawę na kilka miesięcy i wraca ten sam problem, tylko na nowszym sprzęcie.
Archiwizacja
Zamknięcie i odłożenie starych lat. Wymaga rozstrzygnięcia, jak długo dane muszą być dostępne bezpośrednio.
To decyzja biznesowa, nie techniczna. Trzeba ustalić, kto i jak często sięga po dane sprzed kilku lat oraz czy wystarczy im dostęp do archiwum, czy potrzebują ich w bieżącej pracy. Odpowiedź bywa zaskakująca: często nikt po nie nie sięga, a mimo to obciążają każdą operację.
Raporty
Zestawienie odpytujące pełną historię obciąża system przy każdym uruchomieniu. Ograniczenie zakresu dat i przeniesienie ciężkich analiz na kopię bazy odświeżaną w nocy rozwiązuje większość takich przypadków — sposób postępowania opisuje temat zestawień poza standardem.
Integracje
Odpytywanie stanów co minutę przy dużej kartotece obciąża bardziej niż praca użytkowników. Warto to zmierzyć.
Częstotliwość trzeba dobrać do rzeczywistej potrzeby, nie ustawiać najkrótszej możliwej z ostrożności. Przy części danych wystarczy przekazywanie samych zmian zamiast całej kartoteki — wybór metody opisuje wymiana danych z innymi systemami.
Pomiar
Czas wystawienia dokumentu i otwarcia typowych zestawień, mierzony regularnie. Pokazuje pogorszenie przed zgłoszeniami.
Pomiar trzeba wykonywać zawsze tak samo: ta sama operacja, ta sama pora dnia, zapisany wynik. Bez punktu odniesienia rozmowa o wydajności sprowadza się do wrażeń, a te bywają mylące w obie strony.
Kolejność działań
Najpierw konserwacja bazy, bo jest najtańsza i najszybsza. Potem przegląd raportów i integracji obciążających system. Dopiero na końcu sprzęt i archiwizacja, bo obie te drogi kosztują i wymagają decyzji. Odwrócenie kolejności prowadzi do wydatku, który maskuje przyczynę zamiast ją usunąć.
Po aktualizacji
Nowa wersja potrafi zmienić czas typowych operacji. Sprawdzenie kilku podstawowych czynności po przejściu na nową wersję pozwala zauważyć pogorszenie od razu, a nie po tygodniu zgłoszeń od użytkowników.