1. Opis ogólny
Procedury diagnostyczne
2. Weryfikacja danych
3. Tryb diagnostyczny
4. Restart. Dokończenie procedury
5. Wydajność przetwarzania. Spowolnienie procesów
5.1 Opis ogólny
5.2 Spowolnienie całej instalacji
5.3 Spowolnienie niektórych funkcji
5.4 Profiler
6. Tematy powiązane
1. Opis ogólny
Procedury diagnostyczne
W programie Trawers są procedury diagnostyczne:
* Weryfikacja danych, tj. kontrola spójności (integralności) bazy danych
Opisy poniżej.
* Kontrola spójności danych transakcyjnych (np. zgodności nagłówków
i pozycji w funkcji: Tworzenie próbne poleceń księgowania
Dokumenty poleceń księgowania
* Kontrola zgodności zapisów w księgach pomocniczych i księdze głównej
Zgodność ksiąg pomocniczych z KG
* Zestawienia kontrolne, np. porównanie cen w cennikach sprzedaży,
zestawienie: polityka marż i upustów
Zestawienia kontrolne
* Audyt spójności systemu uprawnień tj. czy nie ma luk, nieoczekiwanych
uprawnień dla osób o roli, która normalnie nie powinna dawać takich praw
Przeglądanie tabelaryczne uprawnień do obiektów.
Uprawnienia operatorów
* Zapisy do kroniki operacji (log) pozwalają analizować czynności wykonywane
przez operatorów oraz wykrywać zdarzenia i sytuacje nieprawidłowe.
Kronika operacji (log)
2. Weryfikacja danych
Podczas weryfikacji odbywa się kontrola spójności bazy danych,
tj. zgodność zapisów w zbiorach powiązanych oraz (opcja) odbudowa spójności.
(en: Checking database consistency)
Weryfikacja może przebiegać w dwóch trybach:
[ ] Bez poprawiania
[ ] Z poprawianiem
Weryfikacja spójności danych
3. Tryb diagnostyczny
Tryb pracy programu Trawers, podczas którego, odbywa się dodatkowa,
pogłębiona kontrola rozwiązań technicznych, np. konfiguracji, parametrów,
tabel sterujących oraz sprawdzanie formalnej poprawności danych
i powiązań między danymi. Tryb włączany jest parametrem 0823 [1]
* 0823 [1] Włącza wszystkie opcje logowania
NOTE: Może spowolnić prace programu
Kronika operacji (log)
* 0823 [1] Sprawdza, czy praca w Windows odbywa się w trybie terminalowym.
Nie pozwala na pracę w Windows w trybie nie-terminalowym
Platformy systemowe
4. Restart. Dokończenie procedury
W programie Trawers zastosowano mechanizm transakcyjności
(Roll-forward recovery REDO) w celu zapewnienia integralności bazy danych
Mechanizm restartu
Mechanizm zapewnia, że proces sekwencyjnej aktualizacji wielu zbiorów
danych (tabel) zawsze zostanie poprawnie zakończony.
Jeżeli, z jakichś powodów, proces zostanie przerwany i transakcja nie zostanie
dokończona, to procedura restartu zapewni dokończenie transakcji i aktualizację
danych we wszystkich powiązanych zbiorach.
Patrz szczegóły:
Baza danych. Transakcyjność i restart
5. Wydajność przetwarzania. Spowolnienie procesów
5.1 Opis ogólny
Gdy instalacja w której pracuje program Trawers ERP jest prawidłowo skonfigurowana,
to nie występuje spowolnienie procesów. Doświadczenia z setek instalacji
programu wskazują, że wydajność przetwarzania jest odpowiednia.
Jeżeli konfiguracja jest prawidłowa, to na wydajność nie ma wpływu ani zwiększenie
liczby sesji (stanowisk) ani zwiększenie wielkości zbiorów danych.
W niektórych instalacjach można jednak zaobserwować zmniejszenie wydajności.
Na podstawie zebranych informacji od użytkowników programu poniżej opisano
możliwe przyczyny spowolnienia funkcji i procesów wykonywanych w programie Trawers
oraz czynności możliwe i konieczne do wykonania w celu ustalenia przyczyn opóźnień
i zwiększenia wydajności przetwarzania.
NOTE: Firma Tres nie zajmuje się instalowaniem i utrzymaniem infrastruktury
technicznej i informatycznej. Poniższe opisy powstały na podstawie zgłoszeń
i zebranych doświadczeń Użytkowników programu i Partnerów.
Problemy z wydajnością można zaliczyć do dwóch kategorii:
* Spowolnienie całej instalacji
Cała instalacja, wszystkie funkcje i procesy działają wolno. Nie można ustalić,
które konkretne procesy powodują opóźniania.
* Spowolnienie niektórych funkcji
Można wskazać funkcje lub procesy, które działają wolno lub których wykonanie
wpływa na opóźnienie całej instalacji.
5.2 Spowolenie całej instalacji
Cała instalacja, wszystkie funkcje i procesy działają wolno. Nie można ustalić,
które procesy powodują opóźniania.
Wersja dla Windows. Praca nie-terminalowa
Dotychczasowe zgłoszenia wskazują, że podstawową przyczyną wolnej pracy programu
jest praca w trybie nie-terminalowym w środowisku Windows: Trawers-W.
W tym trybie zbiory danych udostępniane są przez sieć. System przesyła poszczególne
zbiory danych z serwera na terminal i z terminalu na serwer.
To trwa i jest przyczyną opóźnień.
Dodatkowo, tryb nie-terminalowy może być przyczyną dezintegracji danych.
Dlatego Trawers-W wymaga pracy w trybie terminalowym (zdalny pulpit/RDS, Winflector).
Platformy systemowe
Pamięć operacyjna RAM
Na wydajność programu Trawers duży wpływ ma rozmiar pamięci operacyjnej serwera.
Im więcej pamięci, tym więcej tabel może być stale załadowanych w pamięci.
To zapewnia szybki dostep do danych. To jest ogólna reguła.
Nie ma jednak kontroli nad tym jakie zbiory, w jakim czasie system operacyjny
będzie trzymał w pamięci. Inne procesy, poza Trawersem, działające na serwerze
mogą potrzebować dużo pamięci. Może być więc tak, że system operacyjny usunie
z pamięci nieużywane w danym czasie zbiory Trawersa.
Ich ponowne załadowanie da odczucie spowolnienia.
Po wykonaniu niektórych funkcji, np. zatwierdzanie dokumentów, obliczeniach MRP
może nastąpić przyśpieszenie pracy. Te funkcje używają wielu zbiorów. Po ich
wykonaniu zbiory pozostają w pamięci operacyjnej. To zapewnia szybki dostęp
do danych i wrażenie, że Trawers przyśpieszył.
Rady:
* Usunąć procesy zewnętrzne, które mocno wykorzystują zasoby serwera
* Zwiększyć rozmiar pamięci serwera
* Migrować na platformę Linux z platformy Windows
Program pracuje wydajnie jeżeli system operacyjny może buforować pliki w wolnej
przestrzeni RAM.
Instalacja np. maszyn wirtualnych może zmniejszyć dostępny bufor i powodować
konieczność ciągłego doczytywania danych z dysku.
W systemach z dyskiem HDD objawia się to drastycznym spowolnieniem działania
programu szczególnie gdy pracuje wiele sesji. Problem jest mniej widoczny gdy
pracuje tylko jedna sesja programu i nasila się gdy dołączają kolejne sesje.
Program antywirusowy
Antywirus może spowalniać pracę programu Trawers. Może blokować niektóre procesy w instalacji.
Należy analizować logi, zmienić parametry i ew. wyłączyć antywirusa.
Wiszące sesje
Wisząca sesja (en: Ghost Session, Zombi Session), to jest sesja, która
mimo utraty połączenia z terminalem pozostaje aktywna. Wisząca sesja
pobiera sesję z puli sesji podanej w licencji.
Wiszące sesje mogą powodować niemożliwość zalogowania kolejnego operatora.
Wiszące sesje obciążają procesor. Nie można jej zdalnie zamknąć.
Można utworzyć Alert, który wyłapuje i zgłasza sesje aktywne od wczoraj.
W Tres Alert: [PZOMBI]
Programy: screen i X2Go powodują, że sesja po utracie kontaktu z terminalem
pozostaje aktywna i działają normalne mechanizmy kończenia sesji:
F9, czas nieaktywności.
Zarządzanie sesjami
Przeciążenie sieci
Dotyczy połączeń przez internet i charakteryzuje się tym, że funkcje programu
działają poprawnie lecz nawigacja po menu i po funkcjach jest z opóźnieniem.
To utrudnia pracę zwłaszcza w wersji Trawers5 TUI, w której trzeba nacisnąć
kilka razy różne klawisze aby wywołać konkretną funkcję.
W takim przypadku trzeba konfigurować funkcję QoS na routerze. Trzeba ustawić
priorytet dla połączeń SSH.
Pomaga też włączenie kompresji danych w transmisji SSH dla połączeń z SOA.
Niektóre narzędzia sprawdzające się w sieci LAN nie nadają się do pracy
przez internet, np. Xming. Zamiast Xming trzeba użyć X2Go.
Jeżeli oddziały łączą się przez internet i problem jest tylko w jednym oddziale,
to prawdopodobnie przyczyna jest w połączeniu internetowym.
Program będzie działał dobrze na serwerze i wolno na terminalach.
Jeżeli incydenty miały miejsce o znanej porze to można próbować z log
ustalić które funkcje były wykonywane.
5.3 Spowolnienie niektórych funkcji
Można wskazać funkcje lub procesy, które działają wolno lub których wykonanie
wpływa na opóźnienie całej instalacji.
Niektóre funkcje podczas wykonania mogą spowalniać pracę instalacji.
Po zakończeniu funkcji problem znika.
Procesy automatyczne
Np. pobieranie i sprawdzanie rachunków bankowych z białą listą zużywa
dużą ilość zasobów. Przez kilka minut mogą być odczuwalne problemy z wydajnością.
Plik jest duży i może na jakiś czas wysycić łącze internetowe, jego przetwarzanie
wymaga dużej ilości pamięci i mocy procesora.
Procesy Autorun trwające dłuższe chwile najlepiej planować poza godzinami pracy.
Procesy masowe, globalne
* Zatwierdzanie globalne
* Weryfikacja (im wiecej okresów otwartych tym dłużej trwa)
* Wyszukiwanie danych w wielu dużych plikach, wyszukiwanie swobodne bez kluczy indeksowych
* Rozbudowane Query
* Generowanie obszernych zestawień
* Wysyłanie dużych plików internetem
Warto sprawdzić wielkość zbiorów danych.
Statystyki zbiorów danych
Zbiory nieużywane przenieść do archiwum.
Archiwum danych
Warto sprawdzić aktywne procesy i obciążenie serwera.
Jeżeli któryś proces zużywa >= 100% CPU przez dłuższą chwilę,
to sprawdzić jaką funkcję wykonuje Trawers i kto ją wywołał.
W ten sposób można ustalić i 'wiszące' sesje i zwykłe procesy
np. gdy ktoś wykonuje zestawienie na dużej ilości danych.
Jeżeli połączenie jest przez internet to dodatkowo trzeba sprawdzić
zajętość pasma na routerze, np. w firmie X jest na wyjściu dostępne
tylko 2Mbit. Wysłanie pliku na ftp trwa kilka minut i może zakłócać
w tym czasie pracę w programie Trawers.
W Windows te informacje pokazuje Menedżer zadań.
W tym miejscu można też zauważyć nieprawidłową pracę dysków i
przeprowadzić testy dysków.
Profiler, to jest program, który zapisuje liczbę wywołań i czas funkcji
Dane te służą to optymalizacji pracy programu
(en: Performance Tuning, Performance Measurement)
Analiza zebranych informacji pozwala skoncentrować się na tych
obszarach funkcjonalnych programu, które wykonywane są najcześciej
Dane zapisywane są do pliku: tr.plg
Można je oglądać w funkcji: Kronika i monitoring operacji >
Analiza wydajności funkcji [AD_PGZ90]
Pracę profilera włącza parametr 0821 [1]
Kronika operacji (log)
NOTE: Aktywny profiler znacznie spowalnia działanie programu,
dlatego należy włączać tylko na czas diagnozowania pracy programu
NOTE: 12/2022 praca profilera możliwa tylko pod nadzorem Tres.