Użytkownicy Comarch ERP XL skarżący się na spowolnienia zwykle wskazują na długi czas ładowania list dokumentów, powolne otwieranie formularzy lub zawieszanie się przy drukowania. Przyczyny mogą leżeć na poziomie bazy danych, sieci LAN lub stacji roboczej użytkownika.
Spowolnienia globalne vs. lokalne
Pierwszym krokiem diagnostyki jest ustalenie, czy spowolnienia dotyczą wszystkich użytkowników jednocześnie, czy tylko wybranych. Jeśli problem dotyczy wszystkich – przyczyna jest po stronie serwera (SQL Server, aplikacja serwera XL lub sieć backbone). Jeśli problem ma tylko jeden użytkownik – winowajcą jest stacja robocza, lokalne połączenie sieciowe lub ustawienia klienta XL na tej stacji.
Spowolnienia po stronie SQL Server
Spowolnienia globalne najczęściej wynikają z: długo trwającego zapytania blokującego inne (blokada na tabeli), braku indeksu dla często używanego raportu lub filtra, lub wyczerpania zasobów serwera (I/O, CPU, RAM). Narzędzie Activity Monitor w Management Studio pokazuje aktywne zapytania, czas ich trwania i zajęte blokady. Zakończenie blokującego zapytania (KILL SPID) może natychmiastowo uwolnić system.
Spowolnienia sieciowe
Comarch ERP XL w architekturze klient-serwer przesyła dane między klientem a serwerem przez sieć LAN. Wolna sieć (poniżej 100 Mbps), wysoki ping (powyżej 5ms) lub pakietowe straty połączenia dramatycznie spowalniają pracę. Szczególnie dotkliwe są spowolnienia dla użytkowników połączonych przez WiFi lub przez VPN (w przypadku pracy zdalnej). Przeniesienie na przewodowe połączenie lub optymalizacja VPN może dać natychmiastową poprawę.
Spowolnienia na stacji roboczej
Stare lub przeciążone stacje robocze z małą ilością RAM lub ze starym dyskiem HDD (zamiast SSD) są dotkliwie wolne przy pracy z XL, szczególnie przy ładowaniu rozbudowanych formularzy. Minimalne zalecane zasoby stacji to: 8 GB RAM, dysk SSD, procesor klasy Intel Core i5 lub nowszy. Jeśli stacja spełnia te wymagania, a mimo to jest wolna, sprawdź zużycie CPU i RAM podczas pracy z XL i poszukaj procesów działających w tle, które konkurują o zasoby.
Optymalizacja raportów użytkownika
Wolno działające raporty zdefiniowane przez użytkownika (Crystal Reports lub raporty SQL w XL) mogą blokować serwer bazy podczas generowania. Raporty z brakiem filtrów daty lub pobierające miliony rekordów powinny być zoptymalizowane przez dodanie odpowiednich klauzul WHERE i indeksów na kolumnach używanych w zapytaniach raportów. Raporty generowane na żądanie przez użytkowników powinny mieć widoczne ograniczenia zakresu danych (obowiązkowe pole „od–do daty").