| Termin | Definicja |
|---|---|
| zbyt długo ładujące się raporty | Zbyt długo ładujące się raporty wskazują na potrzebę optymalizacji zapytań lub indeksów źródłowych danych. Co oznacza zbyt długie ładowanie raportówZbyt długo ładujący się raport jest objawem opóźnienia występującego w jednym lub kilku etapach przetwarzania danych. Program może długo pobierać rekordy z bazy, wykonywać filtrowanie i sortowanie, obliczać wartości agregowane, generować wykresy albo przesyłać gotowy wynik do przeglądarki lub aplikacji biurowej. Sam fakt, że raport wyświetla się wolno, nie wskazuje jeszcze jednoznacznie na awarię komputera. Przyczyną może być zarówno nieefektywne zapytanie, brak odpowiedniego indeksu, duża liczba analizowanych wierszy, jak i ograniczenie pamięci, procesora, dysku lub sieci. Ważne jest rozróżnienie między wolnym otwieraniem konkretnego raportu a spowolnieniem całego programu. Jeżeli opóźnienie występuje tylko dla zestawień obejmujących długi zakres dat lub wiele kolumn, podejrzenie pada na zakres danych, operacje sortowania i łączenie tabel. Jeżeli wszystkie raporty, także proste, działają powoli, trzeba sprawdzić obciążenie komputera, dostępność zasobów, połączenie z bazą oraz działanie samej aplikacji. Powtarzalny czas oczekiwania po każdej zmianie filtra może oznaczać, że raport wykonuje pełne zapytanie od początku, zamiast korzystać z wcześniej przygotowanych danych. Zapytanie, filtr i indeks jako źródło opóźnieniaOptymalizacja raportu powinna zacząć się od sprawdzenia zapytania, które pobiera dane. Raport może odczytywać znacznie więcej kolumn i wierszy, niż faktycznie potrzebuje do prezentacji wyniku. Pobieranie całych rekordów, używanie szerokich złączeń oraz sortowanie dużych zbiorów po stronie bazy zwiększają ilość pracy i danych przesyłanych do aplikacji. Pomocne jest ograniczenie wyboru do wymaganych pól, stosowanie precyzyjnych warunków oraz ustawienie domyślnego zakresu dat, o ile odpowiada on celowi raportu. Indeks jest dodatkową strukturą danych, która może przyspieszyć wyszukiwanie rekordów według określonych kolumn. Jego skuteczność zależy od sposobu filtrowania i sortowania. Indeks na kolumnie używanej w warunku wyszukiwania może ograniczyć liczbę odczytywanych wierszy, ale nie gwarantuje poprawy dla każdego zapytania. Jeśli filtr zwraca większość tabeli, silnik może wybrać pełny odczyt, ponieważ użycie indeksu byłoby mniej wydajne. Nadmiar indeksów także ma koszt: zwiększa zajmowane miejsce i może wydłużać operacje dodawania, modyfikowania oraz usuwania danych. Zmianę indeksów należy więc poprzedzić analizą planu wykonania i pomiarem czasu. Pomiar czasu i lokalizacja wąskiego gardłaRzetelna diagnoza wymaga pomiaru poszczególnych etapów, a nie tylko obserwacji, że ekran długo pozostaje bez zmian. Należy zanotować czas rozpoczęcia żądania, czas otrzymania danych oraz moment zakończenia renderowania raportu. Warto porównać ten sam raport przy małym i dużym zakresie dat, z filtrami oraz bez nich. Jeżeli dane są zwracane szybko, lecz tabela lub wykres pojawia się dopiero po dłuższym czasie, problem może leżeć w generowaniu widoku po stronie aplikacji. Jeżeli opóźnienie występuje przed otrzymaniem pierwszych danych, większe znaczenie ma zapytanie, baza, dysk albo połączenie sieciowe. Podczas testu można obserwować użycie procesora, pamięci operacyjnej, aktywność dysku i przepustowość sieci w systemie operacyjnym. Wysokie użycie procesora przy tworzeniu raportu wskazuje na koszt obliczeń lub formatowania. Niewystarczająca ilość pamięci może powodować korzystanie z pliku stronicowania, co zwykle zwiększa opóźnienia. Wysoka aktywność dysku może oznaczać intensywny odczyt danych albo zapis plików tymczasowych. Z kolei mała ilość danych przesyłanych przez sieć przy długim czasie oczekiwania sugeruje, że aplikacja nadal czeka na wynik przetwarzania. Test powinien być wykonywany na porównywalnych danych i przy zapisaniu informacji o konfiguracji, ponieważ pojedynczy pomiar nie zawsze odzwierciedla typowe działanie. Praktyczne działania na laptopie i komputerze PCPo ustaleniu miejsca opóźnienia można zawęzić zakres raportu, usunąć nieużywane kolumny, ograniczyć liczbę jednocześnie generowanych wykresów i wyłączyć automatyczne odświeżanie, jeśli aplikacja na to pozwala. Długotrwałe raporty warto uruchamiać poza godzinami największego obciążenia, ale nie zastępuje to poprawy zapytania lub struktury danych. Należy także sprawdzić, czy program korzysta z aktualnej konfiguracji połączenia, czy lokalny dysk nie jest prawie pełny oraz czy w tle nie działają zadania zużywające większość zasobów. Przed zmianami w bazie albo aplikacji powinno się zachować kopię konfiguracji i porównać wynik raportu przed oraz po optymalizacji, aby upewnić się, że skrócenie czasu nie zmieniło jego zawartości. Warszawskie Pogotowie Komputerowe zajmuje się profesjonalną naprawą laptopów, komputerów PC i podzespołów, dlatego może sprawdzić stan sprzętu, pamięć operacyjną, dysk, temperatury podzespołów oraz podstawowe przyczyny spowolnienia aplikacji raportowej na komputerze użytkownika. Jeżeli pomiary wskazują na problem po stronie zapytania, indeksu lub konfiguracji programu, potrzebne są również informacje o używanej aplikacji, źródle danych, zakresie raportu i czynnościach poprzedzających wystąpienie opóźnienia. Takie dane pozwalają oddzielić usterkę komputera od problemu logicznego w przygotowaniu raportu. |