Dotyczy: |
|
I. Zalecenia do konfiguracji Systemu Windows oraz oprogramowania bazodanowego MS SQL
Wydajność pracy w Systemie Symfonia oraz Symfonia ERP to subiektywna ocena jakości pracy w programie i szybkości jego działania. Jest wypadkową kilku czynników: sprzętu, jego konfiguracji, oprogramowania Systemu Symfonii i Symfonii ERP oraz otoczenia w jakim pracują programy Symfonii. Na otoczenie składa się inne oprogramowanie biznesowe pracujące na serwerze lub stacjach roboczych, ilości użytkowników pracujących w programach, ilość wprowadzanych i tworzonych dokumentów, kumulacji pracy i operacji w danym momencie. Znaczenie ma również czy praca Systemów Symfonii i Symfonii ERP ma miejsce w wydzielonym środowisku czy w środowisku gdzie zasoby są współdzielone z innymi aplikacjami.
Niniejszy artykuł ma na celu przekazanie najlepszych praktyk administracyjnych, jakie należy stosować nie tylko w zaawansowanych konfiguracjach, ale też w mniejszych, kilkustanowiskowych, aby zapewnić jak najlepsze warunki dla wydajnej pracy Systemu Symfonii oraz Symfonii ERP.
Reguły i praktyki te stanowią rozbudowę dla oficjalnych wymagań sprzętowych, jakie publikowane są na stronie pomoc.symfonia.pl dla każdej wersji Systemu Symfonii oraz Symfonii ERP.
II. Czynniki, które wpływają na wydajność pracy Twojego programu
Wymagania sprzętowe są podstawową informacją dla administratorów i użytkowników. Pokazują one minimalne oraz rekomendowane zasoby, jakie potrzebne są do prawidłowego działania Symfonii oraz Symfonii ERP na serwerze bazodanowym oraz stacjach roboczych. Podane są tam też przykładowe konfiguracje serwerowe w zależności od ilości użytkowników oraz modelu pracy Firmy (połączenie do serwera za pomocą Pulpitu Zdalnego lub instalacja klienta Symfonii lub Symfonii ERP na stacjach roboczych).
Należy pamiętać, że podane wymagania są kalkulowane dla pracy Symfonii oraz Symfonii ERP w standardowym środowisku firmowym, a więc w towarzystwie klasycznych aplikacji biurowych czy poczty e-mail. Jeżeli w firmie wykorzystywane jest oprogramowanie firm trzecich (branżowe aplikacje, systemy do projektowania, zaawansowane integracje oraz inne aplikacje pochłaniające zasoby sprzętowe) należy odpowiednio zwiększyć zasoby serwera oraz stacji roboczych uwzględniając wymagania tych aplikacji.
Spełnienie wymagań sprzętowych Systemu Symfonii oraz Symfonii ERP to podstawowy, ale nie jedyny krok w zapewnieniu odpowiednich zasobów dla wydajnej pracy. Poniżej prezentujemy listę, jak pokazuje nasza praktyka, często pomijanych elementów konfiguracji, które mają olbrzymi wpływ na wydajność pracy Systemu Symfonii oraz Symfonii ERP.
III. Sposoby na poprawę wydajności Twojego programu
- Dedykowane wdrożenie Symfonii – część projektów wymaga, aby do standardowych funkcji Symfonii lub Symfonii ERP dodane zostały tzw. Rozwiązania Indywidualne. Mogą one rozbudować funkcjonalność istniejących okien (poprzez dodatkowe przyciski, reguły czy pola), polegać na dodaniu dedykowanych okien i całych funkcjonalności lub pobierać/wysyłać dane do zewnętrznych aplikacji, firm trzecich (te ostatnie są potencjalnie najbardziej zasobochłonne). Rozwiązania takie powinny być dostarczane przez Dział Rozwiązań Indywidualnych Symfonii (kontakt pod adresem e-mail: rozwiazania@symfonia.pl) lub autoryzowanych Partnerów, powinny zostać odpowiednio zaprojektowane, biorąc pod uwagę zakres danych czy częstotliwość integracji/synchronizacji. Dodatkowo, jeżeli Rozwiązanie tworzy własne struktury bazodanowe, powinno być napisane zgodnie z najlepszymi praktykami tworzenia aplikacji bazodanowych z odpowiednio założonymi indeksami czy kluczami.
-
Konfiguracja Systemu Windows (na serwerze i stacjach roboczych) – środowisko w jakim pracuje System Symfonii ERP ma kluczowe znaczenie w zapewnieniu odpowiednich zasobów dla Systemu ERP. Nieprawidłowa konfiguracja Systemu Windows często nie daje objawów w typowej, biurowej pracy, wpływa jednak mocno niekorzystnie na bardziej wymagające aplikacje, jakimi są Systemy ERP.
- Tryby ekologiczne – bardzo często domyślnymi trybami pracy samego Systemu Windows, komputera czy jego komponentów (karta sieciowa, dyski twarde, inne komponenty) jest tryb oszczędzający energię/tryb ekologiczny/tryb zrównoważony. Ustawienie takie powoduje, że urządzenia te nie pracują w pełnej mocy i dłużej przetwarzają dane, wchodzą w tryb uśpienia, powodując ‘zawieszanie’ się aplikacji (zwłaszcza dyski i karty sieciowe) lub wygaszają połączenie z serwerem. Ustawienia takie należy sprawdzić w konfiguracji Systemu Windows (Ustawienia-Zasilanie) oraz w konfiguracji wybranych urządzeń (Menedżer Urządzeń) oraz przestawić na te zapewniające większą wydajność.
- Typ dysku twardego – olbrzymie znaczenie dla szybkości pracy aplikacji ma typ dysku twardego, z jakiego korzystamy. Dyski SSD (pamięć flash) są wielokrotnie szybsze od HDD (talerzowe) w niemal każdym aspekcie, co czyni je idealnym wyborem do zadań wymagających wysokiej wydajności. Dyski HDD mają 20-50 krotnie większy czas dostępu do danych niż zalecane dyski SSD, występuje też olbrzymia różnica w prędkości przesyłania danych. Zalecenie to obowiązuje zarówno na serwerach jak i stacjach roboczych.
- Miejsce na dysku twardym – ze względu na liczne procesy optymalizacyjne przeprowadzane przez System Windows oraz oprogramowanie bazodanowe MS SQL należy zapewnić na dysku co najmniej 10 GB wolnego miejsca na stacji roboczej oraz minimum podwójną ilość miejsca jakie zajmują bazy danych (na serwerze).
- Rozdzielenie dysków dla Systemu, bazy danych i oprogramowania – dla bardziej zaawansowanych rozwiązań zalecamy, aby rozdzielić na osobnych partycjach lub dyskach fizycznych (SSD) instalację Systemu Windows, programów oraz baz danych. Minimalna zalecana konfiguracja to osobny dysk dla Systemu Windows i programów oraz osobny dla bazy danych MS SQL.
IV. Konfiguracja serwera bazodanowego MS SQL
- Najlepszym modelem serwera MS SQL jest osobna, fizyczna maszyna dedykowana. Kolejnym: VM na tej maszynie (1 maszyna - 1 VM) i na końcu: współdzielenie przez kilka VM (w tym SQL) maszyny fizycznej - model ten jest najbardziej ryzykowny, konieczna jest 'fixed' alokacja odpowiednich zasobów do VM SQL oraz odpowiednia konfiguracja maszyny. Brak ustawień stałych, „fixed” limitów albo rezerwacji zasobów dla serwera MS SQL (czyli brak gwarancji określonej ilości RAM i procesora), może powodować, że inne maszyny wirtualne „zabiorą” moc obliczeniową i pamięć, przez co baza MS SQL będzie działać wolniej oczekując na zwolnienie zasobów. Łatwo bowiem o sytuację, że na tej samej maszynie fizycznej powstanie na inne cele/inny projekt kolejna maszyna wirtualna, która będzie konkurować o zasoby z ważnym zasobem jakim jest serwer MS SQL.
- Jeżeli na serwerze konfigurowana jest macierz dyskowa najlepszym wyborem jest tryb RAID 10, zapewniający największe bezpieczeństwo, ale i szybkość pracy dysków. Nie zalecamy trybu RAID 5, który wymaga dodatkowych obliczeń i spowalnia zapis/odczyt danych.
- Pamięć RAM – idealną sytuacją jest zapewnienie na serwerze takiej ilości pamięci RAM, która pokryje rozmiar aktywnych baz danych. Należy też odpowiednio skonfigurować zakres wykorzystania przez MS SQL zasobów pamięci, aby została też odpowiednia ilość na sam System Windows.
- Serwer produkcyjny, czyli maszyna wykorzystywana na co dzień do pracy powinna służyć tylko do tych celów. Nie powinno się tam przechowywać podpiętych do serwera baz archiwalnych czy testowych – są one często w tle optymalizowane przez MS SQL zużywając zasoby.
- Należy wykonywać cykliczne operacje konserwujące bazę danych:
- Reindeksacja: Poprawia wydajność zapytań SQL, eliminując fragmentację w indeksach, która może wystąpić podczas intensywnych operacji DML (insert, update, delete).
- Aktualizacja statystyk: Zapewnia optymalizatorowi zapytań aktualne dane o rozkładzie wartości w kolumnach, co jest kluczowe dla wydajnych planów zapytań.
- Konserwacja logu transakcyjnego (Truncate) zmniejszająca jego rozmiar i obciążenie zasobów
V. Konfiguracja serwera aplikacyjnego
Serwer aplikacyjny z zainstalowaną Symfonią ERP powinien spełniać wymagania opisane na stronie pomoc.symfonia.pl. Dodatkowo, należy uwzględnić zasoby potrzebne dla innych aplikacji działających na tym serwerze. Zalecenia dotyczące konfiguracji:
-
Serwer terminali:
- Jeśli serwer pełni również rolę serwera terminali, do którego łączą się użytkownicy w sesjach zdalnych, należy zapewnić minimum 2 GB pamięci RAM oraz odpowiednią moc obliczeniową procesora na każdego użytkownika.
-
Liczba użytkowników:
- Nawet przy dużej ilości pamięci RAM i zasobów procesora nie należy alokować więcej niż 25–30 użytkowników na jednej maszynie (fizycznej lub wirtualnej)
- W przypadku potrzeby obsługi większej liczby pracowników, zaleca się rozłożenie obciążenia na dwie lub więcej maszyn wirtualnych, tak aby na jedynym Systemie Windows Server pracowało nie więcej niż 25-30 użytkowników, zgodnie z zaleceniami Microsoft.
-
Zainstalowane aplikacje:
- Nie zaleca się instalowania więcej niż jednej produkcyjnej wersji Symfonii oraz jej niezbędnych komponentów (np. DevExpress) na jednym serwerze. Wiele wersji może powodować konflikty, wybrane elementy są też w momencie startu systemu ładowane do pamięci, co zużywa zasoby
Należy też pamiętać, że organizacja sprzętu oraz jego konserwacja i optymalizacja powinna być realizowana cyklicznie. Zapewnienie odpowiednich zasobów jednorazowo, przy starcie Systemu Symfonia i Symfonia ERP, często wraz z przyrostem danych oraz wymagań biznesowych jest niewystarczające i powoduje obniżenie jakości pracy w Systemie Symfonia i Symfonia ERP oraz bezpieczeństwie.
W celu odpowiedniej konfiguracji, diagnozy oraz przeprowadzenia analizy posiadanych zasobów zapraszamy do skorzystania z usług profesjonalnych konsultantów Symfonii oraz naszej sieci partnerskiej.
Zespół Symfonii
Masz pytania?
Dołącz do nas! Zaloguj się do Społeczności Klientów Symfonii i zadaj pytanie w obszarze wiedzy,
który Cię interesuje.
Aby zalogować się do naszej społeczność, potrzebujesz konta w Symfonii ID.
Jeśli jeszcze go nie masz – skorzystaj z instrukcji