Strona głównaBaza wiedzy

Optymalizacja baz Microsoft SQL dla Comarch ERP Optima

Microsoft SQL Server — optymalizacja baz dla Comarch ERP Optima

Comarch ERP Optima · Microsoft SQL Server

Sprawniejsza praca z danymi.
Zacznij od diagnozy.

Wolne listy dokumentów, długie raporty i oczekiwanie na zapis? Sprawdź, jak konfiguracja serwera, kondycja baz oraz plan utrzymania wpływają na codzienną pracę w Comarch ERP Optima.

Diagnostyka wydajnościKonfiguracja SQLUtrzymanie baz
Microsoft SQL Server — logo wykorzystane w artykule BlueNetwork
DANE → ZAPYTANIA → WYNIK
Silnik bazy danych w środowisku Comarch ERP Optima

Ustal przyczynę

Powiąż konkretną wolną operację z obciążeniem serwera, blokadami i warunkami pracy.

Dopasuj zasoby

Oceń pamięć, dyski i ograniczenia używanej wersji oraz edycji SQL Server.

Utrzymuj efekt

Połącz pomiary z konserwacją, kontrolą kopii i regularnym przeglądem środowiska.

Optima działa wolniej. Co sprawdzić najpierw?

Microsoft SQL Server przechowuje dane wykorzystywane przez Comarch ERP Optima. Gdy rośnie liczba dokumentów i równoczesnych użytkowników, zmienia się również obciążenie bazy. Spowolnienie nie musi jednak oznaczać, że trzeba od razu wymienić serwer.

Zacznij od opisu problemu: jaka operacja trwa długo, w której bazie, na ilu stanowiskach i od kiedy? Warto zanotować czas wykonania oraz porę wystąpienia. Inaczej diagnozuje się pojedynczy raport, a inaczej spadek szybkości całego systemu podczas dużego importu danych.

Procesor i pamięć

Sprawdź obciążenie w chwili problemu oraz dostępność RAM dla systemu i instancji SQL.

Dyski i wolne miejsce

Oceń opóźnienia odczytu i zapisu, wzrost plików oraz miejsce na dane, logi i kopie.

Zapytania i blokady

Ustal, czy operacja czeka na inną transakcję albo przetwarza wyjątkowo dużo danych.

Stanowiska i połączenie

Porównaj zachowanie użytkowników i warunki sieciowe, aby zawęzić obszar diagnostyki.

Porównanie tych samych czynności przed zmianą i po niej pozwala ocenić efekt. Pojedynczy wysoki odczyt licznika nie daje jeszcze pełnego obrazu. Znaczenie ma przebieg obciążenia w czasie i jego związek z pracą użytkowników.

Sprzęt i edycja SQL muszą pasować do obciążenia

Pamięć operacyjna

RAM

Oceń zapotrzebowanie całego serwera: silnika SQL, systemu i dodatkowych usług. W biurze rachunkowym uwzględnij wiele baz oraz pracę równoczesnych użytkowników.

Dostęp do danych

Podsystem dyskowy

Szybkie SSD mogą pomóc, gdy ograniczeniem jest zapis lub odczyt. Sprawdź rzeczywiste opóźnienia i obciążenie, zamiast kierować się samą pojemnością dysków.

Możliwości silnika

Edycja SQL Server

Express ma limity zasobów i rozmiaru bazy zależne od wersji. Większa ilość RAM w komputerze nie usuwa ograniczeń danej edycji.

Przed rozbudową ustal dokładną wersję SQL Server i sprawdź jej limity w dokumentacji Microsoft. Równocześnie potwierdź zgodność planowanego środowiska z wymaganiami używanej wersji Comarch ERP Optima. Przejście na inną edycję warto uzasadnić pomiarami i potrzebami firmy.

Wydajność i odporność na awarie trzeba zaplanować razem. RAID, nadmiarowe komponenty czy UPS mogą ograniczać skutki wybranych awarii, ale nie zastępują kopii zapasowych. O podtrzymaniu zasilania przeczytasz we wpisie o rozwiązaniach EVER.

Proces optymalizacji

Pomiar → zmiana → weryfikacja

Przed zmianąZapisz punkt odniesienia

Wybierz reprezentatywne czynności i zanotuj czas oraz warunki ich wykonania.

Podczas pracWprowadzaj kontrolowane zmiany

Przygotuj kopię, testy i możliwość powrotu do poprzedniej konfiguracji.

Po wdrożeniuSprawdź codzienną pracę

Porównaj wyniki, także przy równoczesnej pracy użytkowników.

Pamięć SQL Server i plany zapytań

Maximum Server Memory

Parametr max server memory pomaga ograniczyć pamięć zarządzaną przez SQL Server i zostawić zasoby dla systemu oraz innych usług. Wartość należy dobrać do całego środowiska. Zbyt wysoki limit może powodować presję pamięci poza SQL, a zbyt niski — ograniczać wydajność samej instancji.

Nie jest to ścisły limit całej pamięci procesu SQL Server: część alokacji pozostaje poza jego kontrolą. Dlatego nie należy przenosić jednej tabeli ustawień na każdy serwer. Po zmianie trzeba obserwować wykorzystanie pamięci podczas typowego obciążenia. Dokumentacja pamięci SQL Server →

Optimize for Ad hoc Workloads

Biuletyn Comarch zwraca uwagę na opcję optimize for ad hoc workloads. Może ona oszczędzać pamięć podręczną, gdy występuje wiele jednorazowych zapytań ad hoc: przy pierwszej kompilacji zapisywany jest niewielki fragment planu zamiast pełnego planu wykonania.

Administrator powinien ocenić udział takich planów i wpływ ustawienia na środowisko. Samo włączenie opcji nie oznacza automatycznej poprawy każdej operacji; obejmuje ono nowe plany, a nie te już zapisane w pamięci. Opis opcji w Microsoft Learn →

Indeksy i statystyki: dobieraj działania do wyników

Indeksy pomagają odnajdywać dane, a statystyki wspierają wybór planu wykonania zapytania. Ich kondycja ma znaczenie, ale automatyczna odbudowa wszystkich indeksów nie jest uniwersalną receptą. Zabiegi konserwacyjne zużywają zasoby, zajmują czas i mogą wpływać na dostępność danych.

Microsoft zaleca ocenę efektów dla konkretnego obciążenia. W części przypadków poprawa wynika z aktualizacji statystyk, a nie z samej odbudowy. Zakres i częstotliwość prac powinny uwzględniać wyniki pomiarów, wielkość obiektów oraz dostępne okno serwisowe. Zasady utrzymania indeksów →

Analiza brakujących indeksów lub narzędzia doradcze mogą wskazać kandydatów do dalszych testów. Rekomendacja nie jest jednak poleceniem automatycznego utworzenia indeksu: dodatkowy indeks zwiększa również koszt zapisu i zajmuje miejsce.

Ważne przed aktualizacją Optimy. Comarch w OPT057 wskazuje konieczność przygotowania skryptów dodających i usuwających niestandardowe indeksy oraz statystyki, aby obsłużyć konwersję bazy do nowej wersji. Takie zmiany należy dokumentować, testować i uzgadniać z opiekunem systemu.

Plan utrzymania, który ma potwierdzone wyniki

ObszarCo zaplanowaćCo potwierdzić
Kopie zapasoweBackup baz firmowych i konfiguracyjnej, przechowywanie oraz retencję.Wynik zadania i okresowy test odtworzenia w oddzielnym środowisku.
Spójność bazyKontrolę, m.in. z użyciem DBCC CHECKDB.Wyniki kontroli i sposób reakcji na wykryte błędy.
Indeksy i statystykiPrace wynikające z analizy i potrzeb bazy.Czas wykonania, wpływ na użytkowników i efekt wydajnościowy.
HarmonogramOkno serwisowe poza największym obciążeniem.Logi zadań, powiadomienia o błędach i dostępne miejsce.

W edycjach obsługujących SQL Server Agent można oprzeć automatyzację na zadaniach lub odpowiednio przygotowanym planie serwisowym. Dla Express trzeba przewidzieć inny mechanizm uruchamiania, np. Harmonogram zadań Windows. Sam harmonogram nie wystarcza: zadanie musi działać z właściwymi uprawnieniami i raportować błędy.

Nie traktuj regularnego zmniejszania plików bazy (shrink) jako optymalizacji. Taka operacja może zwiększać fragmentację, a późniejszy ponowny wzrost plików generuje dodatkową pracę. Microsoft nie zaleca jej jako rutynowej czynności utrzymaniowej. Zalecenia dotyczące shrink →

Warto także rozdzielić utrzymanie wydajności od ochrony kopii przed utratą całego serwera. Więcej o dodatkowej lokalizacji backupu opisaliśmy we wpisie o Comarch IBARD.

Co przekazać do analizy?

Opis spowolnienia

Kroki odtworzenia problemu, orientacyjny czas operacji i informacja, kogo dotyczy.

Informacje o środowisku

Wersja Optimy, wersja i edycja SQL, wielkość baz, zasoby oraz liczba użytkowników.

Historia zmian

Aktualizacje, importy, rozbudowa infrastruktury i moment pojawienia się objawów.

Plan prac i kopie

Dostępne okno serwisowe, potwierdzony backup i osoba odpowiedzialna za testy.

BlueNetwork · Comarch ERP Optima

Przyjrzyjmy się wydajności Twojego systemu

Optima zwalnia przy raportach, pracy na dokumentach lub większej liczbie użytkowników? Skontaktuj się z BlueNetwork. Opisz objawy, abyśmy mogli ustalić zakres diagnostyki i zaplanować dalsze działania.

Porozmawiajmy o optymalizacji →

WIĘCEJ INFORMACJI

Informacje

Zapytaj o rozwiązanie

Znajdź na stronie