Naliczanie wynagrodzeń dla dużej liczby pracowników może trwać zbyt długo, a generowanie zbiorczych raportów kadrowych blokować pracę innych użytkowników Symfonii – problemy wydajnościowe są szczególnie dotkliwe przy zbliżającym się terminie wypłaty. Optymalizujemy wydajność Symfonii Kadry i Płace na wszystkich poziomach: bazy danych, sieci i konfiguracji programu, skracając czas naliczania wynagrodzeń i generowania raportów.
Pomiar wydajności i identyfikacja wąskich gardeł
Mierzymy czas kluczowych operacji w Symfonii Kadry i Płace: naliczanie wynagrodzeń dla całej załogi, generowanie listy płac, obliczanie składek ZUS, generowanie deklaracji ZUS DRA, wydruk PIT-11 dla wszystkich pracowników. Sprawdzamy, czy problem dotyczy wszystkich operacji (wskazuje na ogólną słabość infrastruktury) czy tylko wybranych (wskazuje na problemy z konkretnymi danymi lub zapytaniami). Monitorujemy obciążenie CPU, RAM i I/O dysku podczas operacji naliczania.
Optymalizacja bazy danych
Dla baz SQL Server analizujemy plany wykonania zapytań generowanych przez Symfonię Kadry i Płace podczas naliczania wynagrodzeń i identyfikujemy brakujące indeksy przez sys.dm_db_missing_index_details. Przebudowujemy sfragmentowane indeksy i aktualizujemy statystyki. Sprawdzamy, czy tabele historii wynagrodzeń nie są nadmiernie duże – dla firm z wieloletnią historią, archiwizacja starszych danych może znacznie przyspieszyć operacje. Dla Pervasive defragmentujemy pliki bazy narzędziem butil.
Optymalizacja procesu naliczania wynagrodzeń
Analizujemy konfigurację składników płacy i reguł naliczania w Symfonii Kadry i Płace. Upraszczamy złożone formuły składników, które powodują wielokrotne obliczenia tych samych wartości. Sprawdzamy, czy nie ma niepotrzebnych zależności między składnikami płacy (np. składnik A zależy od B, B od C, C od A – tworząc pętle). Testujemy naliczanie z różnymi ustawieniami wielowątkowości (jeśli Symfonia to obsługuje) dla skrócenia czasu operacji.
Optymalizacja sieci dla instalacji wielostanowiskowej
W instalacji sieciowej Symfonii Kadry i Płace wolna sieć może być przyczyną spowolnień. Sprawdzamy opóźnienia sieci między stanowiskami kadrowych a serwerem, wymieniamy połączenia FastEthernet (100 Mbps) na GigabitEthernet (1 Gbps), eliminujemy WiFi dla stanowisk intensywnie korzystających z naliczania wynagrodzeń. Konfigurujemy QoS priorytetyzując ruch do serwera Symfonii w godzinach naliczania wynagrodzeń.
Archiwizacja starych danych
Firmy z wieloletnią historią w Symfonii Kadry i Płace mogą doświadczać spowolnienia wynikającego z dużych tabel historycznych. Archiwizujemy dane z zamkniętych lat obrotowych do oddzielnej bazy archiwalnej (dostępnej w trybie tylko do odczytu), co zmniejsza rozmiar aktywnej bazy o 40–70%. Sprawdzamy, że zarchiwizowane dane są nadal dostępne dla celów historycznych (np. weryfikacja historii zatrudnienia dla odpraw). Mierzymy czas naliczania przed i po archiwizacji.
Modernizacja sprzętu
Gdy optymalizacja programowa wyczerpuje możliwości, rekomendujemy modernizację sprzętu. Migracja serwera bazy danych z dysków HDD na SSD/NVMe może przyspieszyć operacje 5–20-krotnie. Zwiększenie RAM serwera SQL Server pozwala załadować więcej danych do pamięci podręcznej (buffer pool), eliminując odczyty z wolnego dysku. Dla stacji roboczych kadrowych kluczowy jest szybki procesor (operacje naliczania są jednorodne i korzystają z jednego rdzenia).