Anveo EDI Connect / Config / Tematy zaawansowane / Optymalizacja wydajności
Jest to tłumaczenie automatyczne. Pierwotne stanowisko jest dostępne w angielski.

Optymalizacja wydajności

Anveo EDI Connect jest zbudowany tak, aby mieć elastyczne mapowania, które mogą być zmieniane w czasie pracy. Podstawowa funkcjonalność jest opracowana całkowicie w Microsoft Dynamics NAV 2013R2 ze wszystkimi zaletami i wadami. Wszystkie ustawienia są przechowywane w bazie danych i muszą być pobierane podczas runtime, aby określić, jak moduł będzie obsługiwał dane EDI.

Szybkość działania modułu w dużej mierze zależy od szybkiego sposobu pobierania właściwości EDI przez Service Tier. Dla każdego pola, które jest odczytywane lub zapisywane z pliku, moduł będzie musiał uzyskać garść ustawień z bazy danych, aby poprawnie obsłużyć dane. Jest to wykonywane na jednym rdzeniu CPU w service tier. Ważne jest więc, aby w service tier była dostępna wystarczająca wydajność pojedynczego rdzenia CPU, szybkie połączenie z bazą danych oraz wystarczające zasoby na serwerze SQL i w service tier.

Uruchom testy wydajności

Zawsze, gdy rozpoczynasz projekt z dużym obciążeniem EDI lub chcesz importować duże pliki, zalecamy ustawienie mapping importu bez wszystkich szczegółów i przeprowadzenie testów wydajności. Możesz również skontaktować się z naszym supportem i poprosić o poradę, czy Twój scenariusz może być bezpiecznie obsługiwany przez moduł, czy też powinieneś go najpierw przetestować.

Tabela Zamki

Każde mapping działa w swojej własnej transakcji bazy danych i może zablokować tabele, które są używane wewnątrz mapping. Utrzymywanie mapowań tak szybkich i małych, jak to możliwe, pomoże zmniejszyć blokady tabel na tablicach używanych wewnątrz mapping.

Zoptymalizowaliśmy własne tabele systemowe tak, aby mogły być wykorzystywane równolegle przez wiele procesów EDI. Nie dotyczy to jednak naszych tabel buforowych, które jak każda inna tabela może być zablokowana przez mapping. Dlatego zalecamy, aby procesy EDI wykonywać jak najbardziej seryjnie i w miarę możliwości unikać wykonywania równoległego.

Jeśli blokady występują głównie na naszych tabelach buforowych, np. dokument ANVEDI, przydatne może być pomyślenie o własnych tablicach buforowych dla procesów z dużą ilością danych.

Blokady tabel są głównie przedmiotem zainteresowania w normalnych operacjach dziennych, w których użytkownicy czekają na zasoby, a różne obciążenia mogą prowadzić do różnych zachowań. Jeśli proces na to pozwala, zalecamy zaplanowanie zadań EDI w nocy lub np. w porze lunchu, aby zmniejszyć obciążenie systemu.

Optymalizacje Mapping

Niektóre właściwości będą miały wpływ na wydajność twojego mapping. Generalnie powinieneś starać się unikać wszelkich pętli, które nie są konieczne. Jeśli importujesz dane, większość konwerterów sprawdzi pobraną strukturę danych dla każdego wiersza tabeli w trybie zapisu. Możesz zyskać wydajność, jeśli ustawisz minimalną liczbę powtórzeń na tabelach zapisu, jeśli wiesz, że dane będą obecne w pliku. (A jeśli otrzymasz uszkodzony plik, moduł nadal będzie dawał komunikat o błędzie, ponieważ pętla nie może zostać przekonwertowana).

Do tabel buforowych należy importować tylko te dane, które są wykorzystywane albo w dalszym przetwarzaniu danych, albo przez użytkownika w celu znalezienia i zrozumienia błędów. Importowanie danych, które nie mają wartości dla użytkownika końcowego i nie są wykorzystywane później w procesie, będzie miało negatywny wpływ na wydajność.

Zmniejszenie liczby linii w mapping może poprawić wydajność.

EDIFACT

Na mapowaniach importowych można usunąć dowolny element danych z mapping, który nie jest używany. Moduł będzie potrzebował tylko informacji o segmencie. Każdy element danych przechowuje pozycję w pliku, więc usunięcie elementów przed jednym, który jest potrzebny, nie zmieni przetwarzania. Jedynym minusem tego podejścia jest to, że być może będziesz musiał ponownie dodać element, jeśli będziesz potrzebował przetworzyć dane w przyszłości. Jeśli umieszczasz tabele na grupach EDIFACT, powinieneś ustawić min powtórzenie na tabeli, jeśli grupa jest obowiązkowa.

Przy eksporcie można usunąć każdy element danych, który nie zawiera wartości. Moduł automatycznie zapisze się do właściwej pozycji, jeśli zabraknie kilku elementów danych, a Ty przyspieszysz całe mapping.

TEKST

Zmniejszenie liczby linii w mapping dla pliku tekstowego jest często możliwe, jeśli na końcu linii znajduje się struktura, która nie jest potrzebna. Zamiast czytać wszystkie te pola, możesz chcieć użyć pojedynczej linii mapping, aby przeczytać wszystko do końca linii, jeśli nie musisz przetwarzać informacji.