1s 8.3 działa bardzo wolno, co mam zrobić? Wskazówki dotyczące automatyzacji
Bardzo często ludzie zwracają się do mnie z pytaniami typu:
- Dlaczego serwer 1C zwalnia?
- Komputer 1C jest bardzo powolny
- Klient 1C jest strasznie powolny
Co robić i jak to pokonać, i tak dalej w kolejności:
Klienci pracują bardzo wolno z wersją serwerową 1C
Oprócz powolnej pracy 1C, powolna jest także praca z plikami sieciowymi. Problem występuje podczas normalnej pracy i przy użyciu protokołu RDP
aby rozwiązać ten problem, zawsze zaczynam po każdej instalacji Seven lub serwera 2008
netsh int tcp ustaw globalne automatyczne dostrajanie = wyłączone
netsh int tcp ustaw globalny poziom automatycznego dostrajania = wyłączony
netsh int tcp set global rss=wyłączony komin=wyłączony
i sieć działa bez problemów
czasami najlepszą opcją jest:
interfejs netsh tcp ustaw globalne automatyczne dostrajanie = wysoce ograniczone
tak wygląda instalacja
Skonfiguruj program antywirusowy lub zaporę systemu Windows
Jak skonfigurować program antywirusowy lub zaporę systemu Windows do uruchamiania serwera 1C (na przykład kombinacja serwera 1C: Enterprise i MS SQL 2008).
Dodaj reguły:
- Jeśli serwer SQL akceptuje połączenia na standardowym porcie TCP 1433, to na to pozwalamy.
- Jeśli port SQL jest dynamiczny, należy zezwolić na połączenia z aplikacją %ProgramFiles%\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Binn\sqlservr.exe.
- Serwer 1C działa na portach 1541, klastrze 1540 i zakresie 1560-1591. Z zupełnie mistycznych powodów czasami taka lista otwartych portów w dalszym ciągu nie pozwala na połączenia z serwerem. Aby mieć pewność, że to działa, zezwól na zakres 1540-1591.
Dostrajanie wydajności serwera/komputera
Aby komputer działał z maksymalną wydajnością, musisz go skonfigurować w tym celu:
1. Ustawienia BIOS-u
- W BIOSie serwera wyłączamy wszystkie ustawienia, aby oszczędzać energię procesora.
- Jeśli jest „C1E” i pamiętaj o ODŁĄCZENIU!
- W przypadku niektórych niezbyt równoległych zadań zaleca się również wyłączenie hipertradingu w BIOS-ie
- W niektórych przypadkach (szczególnie w przypadku HP!) musisz przejść do BIOS-u serwera i wyłączyć tam elementy, które mają w nazwach EIST, Intel SpeedStep i C1E.
- Zamiast tego musisz znaleźć tam elementy związane z procesorem, które mają w nazwie Turbo Boost i WŁĄCZYĆ je.
- Jeśli w BIOSie jest ogólne wskazanie trybu oszczędzania energii i włącz go w trybie maksymalnej wydajności (można go również nazwać „agresywnym”)
2. Ustawienia schematu w systemie operacyjnym - Wysoka wydajność
Serwery z architekturą Intel Sandy Bridge mogą dynamicznie zmieniać częstotliwości procesora.
W Ostatnio Użytkownicy i administratorzy coraz częściej zaczynają narzekać, że nowe konfiguracje 1C opracowane w oparciu o zarządzaną aplikację są powolne, w niektórych przypadkach niedopuszczalnie powolne. Oczywiste jest, że nowe konfiguracje zawierają nowe funkcje i możliwości, a zatem wymagają więcej zasobów, ale większość użytkowników nie rozumie, co przede wszystkim wpływa na działanie 1C w trybie plikowym. Spróbujmy nadrobić tę lukę.
W naszym przypadku poruszyliśmy już kwestię wpływu produktywności podsystem dyskowy jednak z prędkością 1°C to badanie dotyczyło lokalnego korzystania z aplikacji na oddzielnym komputerze PC lub serwerze terminalowym. Jednocześnie większość małych wdrożeń polega na pracy z plikową bazą danych poprzez sieć, gdzie jeden z komputerów użytkownika pełni rolę serwera lub dedykowany serwer plików oparty na zwykłym, najczęściej także niedrogim komputerze.
Małe badanie zasobów rosyjskojęzycznych na 1C wykazało, że należy pilnie unikać tego problemu, a jeśli pojawią się problemy, zwykle zaleca się przejście do trybu klient-serwer lub terminal. Niemal powszechnie przyjęto również, że konfiguracje zarządzanej aplikacji działają znacznie wolniej niż zwykle. Z reguły argumenty są „żelazne”: „Rachunkowość 2.0 właśnie przeleciała, a „trojka” ledwo się poruszyła. Oczywiście w tych słowach jest trochę prawdy, więc spróbujmy to rozgryźć.
Zużycie zasobów, na pierwszy rzut oka
Zanim rozpoczęliśmy to badanie, postawiliśmy sobie dwa cele: dowiedzieć się, czy konfiguracje zarządzane oparte na aplikacjach są rzeczywiście wolniejsze niż konfiguracje konwencjonalne oraz które konkretne zasoby mają główny wpływ na wydajność.
Do testów wzięliśmy dwie maszyny wirtualne z systemem odpowiednio Windows Server 2012 R2 i Windows 8.1, przydzielając im 2 rdzenie hosta Core i5-4670 i 2 GB pamięć o dostępie swobodnym, co odpowiada w przybliżeniu przeciętnej maszynie biurowej. Serwer został umieszczony w macierzy RAID 0 składającej się z dwóch osób, a klient został umieszczony na podobnej macierzy dysków ogólnego przeznaczenia.
Jako bazę eksperymentalną wybraliśmy kilka konfiguracji wydania Accounting 2.0 2.0.64.12 , który następnie został zaktualizowany do 3.0.38.52 , wszystkie konfiguracje zostały uruchomione na platformie 8.3.5.1443 .
Pierwszą rzeczą, która przyciąga uwagę, jest zwiększony rozmiar bazy informacyjnej Trojki, która znacznie się powiększyła, a także znacznie większy apetyt na pamięć RAM:
Jesteśmy gotowi usłyszeć zwykłe: „dlaczego dodali to do tej trójki”, ale nie spieszmy się. W przeciwieństwie do użytkowników wersji klient-serwer, które wymagają mniej lub bardziej wykwalifikowanego administratora, użytkownicy wersji plikowych rzadko myślą o utrzymaniu baz danych. Również pracownicy wyspecjalizowanych firm obsługujących (czytaj aktualizujących) te bazy rzadko o tym myślą.
Tymczasem baza informacji 1C jest pełnoprawnym systemem DBMS we własnym formacie, który również wymaga konserwacji, a do tego istnieje nawet narzędzie o nazwie Testowanie i poprawianie bazy informacji. Być może nazwa odegrała okrutny żart, co w jakiś sposób sugeruje, że jest to narzędzie do rozwiązywania problemów, ale niska wydajność również stanowi problem, a restrukturyzacja i ponowne indeksowanie wraz z kompresją tabeli są dobrze znanymi sposobami optymalizacji bazy danych dla każdego administratora DBMS. Sprawdzimy?
Po zastosowaniu wybranych akcji baza danych gwałtownie „straciła na wadze”, stając się jeszcze mniejsza od „dwójki”, której nikt nigdy nie optymalizował, a zużycie pamięci RAM również nieznacznie spadło.
Następnie po załadowaniu nowych klasyfikatorów i katalogów, utworzeniu indeksów itp. rozmiar podstawy wzrośnie; ogólnie rzecz biorąc, „trzy” podstawy są większe niż „dwie” podstawy. Nie jest to jednak ważniejsze, jeśli druga wersja była zadowolona ze 150-200 MB RAM-u, to nowa edycja potrzebuje pół gigabajta i tę wartość należy wziąć pod uwagę planując zasoby niezbędne do pracy z programem.
Internet
Przepustowość sieci jest jednym z najważniejszych parametrów aplikacji sieciowych, szczególnie takich jak 1C w trybie plikowym, które przesyłają znaczne ilości danych w sieci. Większość sieci małych przedsiębiorstw zbudowana jest w oparciu o niedrogi sprzęt 100 Mbit/s, dlatego testy rozpoczęliśmy od porównania wskaźników wydajności 1C w sieciach 100 Mbit/s i 1 Gbit/s.
Co się stanie, gdy uruchomisz bazę danych plików 1C przez sieć? Klient pobiera dość dużą ilość informacji do folderów tymczasowych, szczególnie jeśli jest to pierwszy, „zimny” start. Przy 100 Mbit/s oczekuje się, że osiągniemy szerokość kanału, a pobieranie może zająć znaczną ilość czasu, w naszym przypadku około 40 sekund (koszt podzielenia wykresu wynosi 4 sekundy).
Drugie uruchomienie jest szybsze, ponieważ część danych jest przechowywana w pamięci podręcznej i pozostaje tam aż do ponownego uruchomienia. Przejście na sieć gigabitową może znacznie przyspieszyć ładowanie programu, zarówno „zimnego”, jak i „gorącego”, przy zachowaniu proporcji wartości. Dlatego postanowiliśmy wyrazić wynik w wartościach względnych, przyjmując największą wartość każdego pomiaru za 100%:
Jak widać na wykresach, Accounting 2.0 ładuje się przy dowolnej prędkości sieci dwa razy szybciej, przejście ze 100 Mbit/s na 1 Gbit/s pozwala czterokrotnie przyspieszyć czas pobierania. W tym trybie nie ma różnicy pomiędzy zoptymalizowanymi i niezoptymalizowanymi bazami danych „trojki”.
Sprawdziliśmy także wpływ prędkości sieci na pracę w ciężkich trybach, np. podczas transferów grupowych. Wynik jest również wyrażony w wartościach względnych:
Tutaj jest ciekawiej, zoptymalizowana baza „trójki” w sieci 100 Mbit/s działa z tą samą prędkością co „dwójka”, a niezoptymalizowana wykazuje dwukrotnie gorsze wyniki. W przypadku gigabitów współczynniki pozostają takie same, niezoptymalizowana „trójka” jest również o połowę wolniejsza niż „dwa”, a zoptymalizowana pozostaje w tyle o jedną trzecią. Ponadto przejście na 1 Gbit/s pozwala skrócić czas wykonania trzykrotnie w przypadku wersji 2.0 i o połowę w przypadku wersji 3.0.
Aby ocenić wpływ szybkości sieci na codzienną pracę, wykorzystaliśmy Pomiar wydajności, wykonując sekwencję z góry określonych działań w każdej bazie danych.
Właściwie w przypadku codziennych zadań przepustowość sieci nie jest wąskim gardłem, niezoptymalizowana „trójka” jest tylko o 20% wolniejsza niż „dwa”, a po optymalizacji okazuje się, że jest mniej więcej tak samo szybsza - zalety pracy w trybie cienkiego klienta są oczywiste. Przejście na 1 Gbit/s nie daje zoptymalizowanej bazie żadnych korzyści, a niezoptymalizowana i obydwa zaczynają działać szybciej, wykazując między sobą niewielką różnicę.
Z przeprowadzonych testów wynika, że sieć nie jest wąskim gardłem dla nowych konfiguracji, a zarządzana aplikacja działa jeszcze szybciej niż zwykle. Możesz także polecić przejście na 1 Gbit/s, jeśli najważniejsze są dla Ciebie duże zadania i prędkość ładowania bazy danych; w innych przypadkach nowe konfiguracje pozwalają na efektywną pracę nawet w wolnych sieciach 100 Mbit/s.
Dlaczego więc 1C jest powolny? Przyjrzymy się temu dalej.
Podsystem dyskowy serwera i dysk SSD
W poprzednim artykule osiągnęliśmy wzrost wydajności 1C, umieszczając bazy danych na dysku SSD. Być może wydajność podsystemu dyskowego serwera jest niewystarczająca? Zmierzyliśmy wydajność serwera dyskowego podczas pracy grupowej w dwóch bazach danych jednocześnie i uzyskaliśmy dość optymistyczny wynik.
Pomimo stosunkowo dużej liczby operacji wejścia/wyjścia na sekundę (IOPS) – 913, długość kolejki nie przekroczyła 1,84, co jest bardzo dobry wynik. Na tej podstawie możemy założyć, że lustro wykonane ze zwykłych dysków wystarczy do normalnej pracy 8-10 klientów sieciowych w ciężkich trybach.
Czy dysk SSD jest potrzebny na serwerze? Najlepszą odpowiedzią na to pytanie będą testy, które przeprowadziliśmy podobną metodą, wszędzie łącze sieciowe ma prędkość 1 Gbit/s, wynik jest również wyrażony w wartościach względnych.
Zacznijmy od szybkości ładowania bazy danych.
Niektórym może się to wydawać zaskakujące, ale dysk SSD na serwerze nie wpływa na szybkość ładowania bazy danych. Głównym czynnikiem ograniczającym, jak pokazał poprzedni test, jest przepustowość sieci i wydajność klienta.
Przejdźmy do ponawiania:
Zauważyliśmy już powyżej, że wydajność dysku jest wystarczająca nawet do pracy w ciężkich trybach, więc nie ma to wpływu na prędkość dysku SSD, z wyjątkiem niezoptymalizowanej bazy, która na dysku SSD dogoniła zoptymalizowaną. Właściwie to po raz kolejny potwierdza, że operacje optymalizacyjne organizują informacje w bazie danych, zmniejszając liczbę losowych operacji we/wy i zwiększając szybkość dostępu do niej.
W codziennych zadaniach obraz jest podobny:
Tylko niezoptymalizowana baza danych czerpie korzyści z dysku SSD. Możesz oczywiście kupić dysk SSD, ale znacznie lepiej byłoby pomyśleć o terminowej konserwacji bazy danych. Nie zapomnij także o defragmentacji sekcji z bazami danych na serwerze.
Podsystem dysku klienta i dysk SSD
Przeanalizowaliśmy wpływ dysku SSD na szybkość działania lokalnie zainstalowanego 1C, wiele z tego, co powiedziano, dotyczy również pracy w trybie sieciowym. Rzeczywiście, 1C dość aktywnie wykorzystuje zasoby dyskowe, w tym do zadań w tle i rutynowych. Na poniższym rysunku widać, jak Accounting 3.0 dość aktywnie uzyskuje dostęp do dysku przez około 40 sekund po załadowaniu.
Należy jednak zdawać sobie sprawę, że w przypadku stacji roboczej, na której aktywna praca wyprodukowany z jedną lub dwiema bazami informacji, zasoby wydajności zwykłego, produkowanego masowo dysku twardego są wystarczające. Zakup dysku SSD może przyspieszyć niektóre procesy, ale radykalnego przyspieszenia w codziennej pracy nie odczujesz, bo np. ładowanie będzie ograniczone wydajność sieci.
Powolny dysk twardy może spowolnić niektóre operacje, ale sam w sobie nie może spowodować spowolnienia programu.
Baran
Pomimo tego, że pamięć RAM jest obecnie nieprzyzwoicie tania, wiele stacji roboczych nadal działa z ilością pamięci zainstalowaną w chwili zakupu. Tutaj czyhają pierwsze problemy. Bazując na tym, że przeciętna „trojka” potrzebuje około 500 MB pamięci, możemy założyć, że łączna ilość pamięci RAM wynosząca 1 GB nie wystarczy do pracy z programem.
Zmniejszyliśmy pamięć systemową do 1 GB i uruchomiliśmy dwie bazy informacyjne.
Na pierwszy rzut oka wszystko nie jest takie złe, program ograniczył apetyty i dobrze wpasował się w dostępną pamięć, ale nie zapominajmy, że zapotrzebowanie na dane operacyjne się nie zmieniło, więc dokąd to poszło? Zrzucane na dysk, do pamięci podręcznej, do wymiany itp. Istota tej operacji polega na tym, że dane, które w danym momencie nie są potrzebne, są wysyłane z szybkiej pamięci RAM, której ilość nie jest wystarczająca, aby spowolnić pamięć dysku.
Dokąd to prowadzi? Zobaczmy jak wykorzystywane są zasoby systemowe przy ciężkich operacjach, na przykład uruchommy retransfer grupowy w dwóch bazach danych jednocześnie. Najpierw w systemie z 2 GB pamięci RAM:
Jak widać, system aktywnie wykorzystuje sieć do odbioru danych, a procesor do ich przetwarzania; aktywność dysku jest niewielka; podczas przetwarzania sporadycznie wzrasta, ale nie jest czynnikiem ograniczającym.
Teraz zmniejszmy pamięć do 1 GB:
Sytuacja zmienia się radykalnie, główne obciążenie spada teraz na dysk twardy, procesor i sieć stoją w stanie bezczynności, czekając, aż system wczyta niezbędne dane z dysku do pamięci i wyśle tam niepotrzebne dane.
Jednocześnie nawet subiektywna praca z dwiema otwartymi bazami danych na systemie z 1 GB pamięci okazała się wyjątkowo niewygodna, katalogi i czasopisma otwierały się ze znacznym opóźnieniem i aktywnym dostępem do dysku. Przykładowo otwarcie arkusza Sprzedaż towarów i usług trwało około 20 sekund i przez cały ten czas towarzyszyła duża aktywność dysku (zaznaczona czerwoną linią).
Aby obiektywnie ocenić wpływ pamięci RAM na wydajność konfiguracji opartych na zarządzanej aplikacji, przeprowadziliśmy trzy pomiary: prędkość ładowania pierwszej bazy danych, prędkość ładowania drugiej bazy danych oraz grupowe ponowne uruchamianie w jednej z baz. . Obie bazy danych są całkowicie identyczne i powstały poprzez skopiowanie zoptymalizowanej bazy danych. Wynik wyrażony jest w jednostkach względnych.
Wynik mówi sam za siebie: jeśli czas ładowania wzrośnie o około jedną trzecią, co jest jeszcze w miarę znośne, to czas wykonywania operacji na bazie danych wzrośnie trzykrotnie, nie ma co mówić o komfortowej pracy w takich warunkach. Swoją drogą tak jest w przypadku zakupu dysku SSD, który może poprawić sytuację, ale o wiele łatwiej (i taniej) jest uporać się z przyczyną, a nie konsekwencjami i po prostu kupić odpowiednią ilość pamięci RAM.
Brak pamięci RAM to główny powód, dla którego praca z nowymi konfiguracjami 1C okazuje się niewygodna. Konfiguracje z 2 GB pamięci na pokładzie należy uznać za minimalnie odpowiednie. Jednocześnie należy pamiętać, że w naszym przypadku stworzono warunki „szklarniowe”: czysty system, działał tylko 1C i menedżer zadań. W prawdziwym życiu na komputerze służbowym z reguły otwarta jest przeglądarka, pakiet biurowy, uruchomiony jest program antywirusowy itp. Itd., więc zacznij od zapotrzebowania na 500 MB na bazę danych plus pewna rezerwa, aby podczas ciężkich operacji nie występuje brak pamięci i gwałtowny spadek produktywności.
procesor
Bez przesady centralny procesor można nazwać sercem komputera, ponieważ to on ostatecznie przetwarza wszystkie obliczenia. Aby ocenić jego rolę, przeprowadziliśmy kolejny zestaw testów, taki sam jak dla pamięci RAM, zmniejszając liczbę rdzeni dostępnych dla maszyny wirtualnej z dwóch do jednego, a test przeprowadzono dwukrotnie dla ilości pamięci 1 GB i 2 GB.
Wynik okazał się dość interesujący i nieoczekiwany: mocniejszy procesor dość skutecznie przejął obciążenie, gdy brakowało zasobów, przez resztę czasu nie dając żadnych wymiernych korzyści. 1C Enterprise (w trybie plikowym) trudno nazwać aplikacją aktywnie korzystającą z zasobów procesora, jest raczej mało wymagająca. A w trudnych warunkach procesor jest obciążany nie tyle obliczaniem danych samej aplikacji, ile obsługą kosztów ogólnych: dodatkowych operacji wejścia/wyjścia itp.
wnioski
Dlaczego więc 1C jest powolny? Przede wszystkim jest to brak pamięci RAM, główne obciążenie w tym przypadku spada na dysk twardy i procesor. A jeśli nie błyszczą wydajnością, jak to zwykle bywa w konfiguracjach biurowych, to otrzymujemy sytuację opisaną na początku artykułu – „dwójka” działała dobrze, ale „trójka” jest bezbożnie powolna.
Na drugim miejscu jest wydajność sieci, wolny kanał 100 Mbit/s może stać się prawdziwym wąskim gardłem, ale jednocześnie tryb cienkiego klienta jest w stanie utrzymać w miarę komfortowy poziom działania nawet na wolnych kanałach.
Następnie należy zwrócić uwagę na dysk – zakup dysku SSD raczej nie będzie dobrą inwestycją, ale wymiana dysku na nowocześniejszy byłaby dobrym pomysłem. Różnicę między generacjami dysków twardych można ocenić na podstawie następującego materiału: .
I na koniec procesor. Szybszy model oczywiście nie będzie zbędny, ale zwiększanie jego wydajności nie ma większego sensu, chyba że ten komputer będzie używany do ciężkich operacji: przetwarzania grupowego, ciężkich raportów, zamykania miesiąca itp.
Mamy nadzieję, że ten materiał pomoże Ci szybko zrozumieć pytanie „dlaczego 1C jest powolne” i rozwiązać je najskuteczniej i bez dodatkowych kosztów.
Tagi:
System 1C zajmuje dominującą pozycję na rynku automatyki dla małych i średnich przedsiębiorstw. Jeśli firma wybrała system księgowy 1C, zwykle pracują w niej prawie wszyscy pracownicy, od zwykłych specjalistów po kierownictwo. W związku z tym szybkość procesów biznesowych firmy zależy od szybkości 1C. Jeśli 1C działa z niezadowalającą prędkością, wpływa to bezpośrednio na pracę całej firmy i zysk.
Faktycznie istnieje trzy metody przyspieszania 1C:
- Zwiększenie pojemności sprzętu.
- Optymalizacja systemu operacyjnego i ustawień DBMS.
- Optymalizacja kodu i algorytmów w 1C.
Pierwsza metoda wymaga zakupu sprzętu i licencji, trzecia wymaga dużego nakładu pracy programistów i w efekcie oba sposoby wiążą się ze znacznymi kosztami finansowymi. Przede wszystkim należy zwrócić uwagę na kod programu, ponieważ żadne zwiększenie wydajności serwera nie jest w stanie zrekompensować nieprawidłowego kodu. Każdy programista wie, że za pomocą kilku linijek kodu można stworzyć proces, który całkowicie załaduje zasoby dowolnego serwera.
Jeśli firma ma pewność, że kod programu jest optymalny, ale nadal działa wolno, kierownictwo zazwyczaj decyduje się na zwiększenie wydajności serwera. W tym momencie pojawia się logiczne pytanie: czego brakuje, ile i co trzeba w efekcie dodać.
Firma 1C daje dość niejasną odpowiedź na pytanie, ile zasobów potrzeba, pisaliśmy o tym wcześniej w naszych postach. Dlatego musisz samodzielnie przeprowadzić eksperymenty i dowiedzieć się, od czego zależy wydajność 1C. Eksperymenty z wydajnością programu w EFSOL opisano poniżej.
Podczas pracy z 1C 8.2, zwłaszcza z konfiguracjami korzystającymi z zarządzanych formularzy, zauważono dziwny fakt: 1C działa szybciej na stacji roboczej niż na wydajnym serwerze. Co więcej, wszystkie cechy stacji roboczej są gorsze niż serwera.
Tabela 1 – Konfiguracje, na których przeprowadzono wstępne testy
Stacja robocza wykazuje o 155% większą wydajność niż serwer 1C o doskonałych parametrach. Zaczęliśmy dociekać, co się dzieje i zawęzić obszar poszukiwań.
Rysunek 1 – Pomiary wydajności na stanowisku pracy za pomocą testu Gilev
Pierwsze podejrzenie było takie, że test Gilewa był niewystarczający. Pomiary otwierania formularzy, wysyłania dokumentów, generowania raportów itp. za pomocą narzędzi oprzyrządowania wykazały, że test Gilewa daje ocenę proporcjonalną do rzeczywistej szybkości pracy w 1C.
Liczba i częstotliwość pamięci RAM
Analiza informacji dostępnych w Internecie wykazała, że wielu pisze o zależności wydajności 1C od częstotliwości pamięci. To zależy od częstotliwości, a nie od głośności. Postanowiliśmy przetestować tę hipotezę, ponieważ częstotliwość pamięci RAM na serwerze wynosi 1066 MHz w porównaniu z 1333 MHz na stacji roboczej, a ilość pamięci RAM na serwerze jest już znacznie większa. Postanowiliśmy od razu zainstalować nie 1066 MHz, a 800 MHz, aby efekt zależności wydajności od częstotliwości pamięci był bardziej wyraźny. W rezultacie produktywność spadła o 12% i wyniosła 39,37 jednostek. Zainstalowaliśmy na serwerze pamięć o częstotliwości 1333 Mhz zamiast 1066 Mhz i otrzymaliśmy niewielki wzrost wydajności - około 11%. Wydajność wyniosła 19,53 jednostki. W związku z tym nie jest to kwestia pamięci, chociaż jej częstotliwość daje niewielki wzrost.
Rysunek 2 – Pomiary wydajności na stacji roboczej po obniżeniu częstotliwości RAM
Rysunek 3 – Pomiary wydajności na serwerze po zwiększeniu częstotliwości RAM
Podsystem dyskowy
Kolejna hipoteza dotyczyła podsystemu dyskowego. Od razu pojawiły się dwa założenia:
- Dyski SSD są lepsze niż dyski SAS, nawet jeśli są w raid 10.
- iSCSI jest wolne lub nieprawidłowe.
Dlatego w stacji roboczej zamiast dysku SSD zainstalowano zwykły dysk SATA, to samo zrobiono z serwerem - bazę danych umieszczono na lokalnym dysku SATA. W rezultacie pomiary wydajności w ogóle się nie zmieniły. Najprawdopodobniej dzieje się tak, ponieważ jest wystarczająca ilość pamięci RAM, a dyski praktycznie nie są w żaden sposób zaangażowane podczas testu.
procesor
Procesory na serwerze są oczywiście mocniejsze i jest ich dwa, ale częstotliwość jest nieco niższa niż na stacji roboczej. Postanowiliśmy sprawdzić wpływ częstotliwości procesora na wydajność: nie było pod ręką procesorów o wyższej częstotliwości dla serwera, więc obniżyliśmy częstotliwość procesora na stacji roboczej. Natychmiast obniżyliśmy go do 1,6, aby korelacja stała się wyraźniejsza. Test wykazał, że wydajność znacząco spadła, ale nawet przy procesorze 1.6 stacja robocza wyprodukowała prawie 28 jednostek, czyli prawie 1,5 razy więcej niż na serwerze.
Rysunek 4 – Pomiary wydajności na stacji roboczej z procesorem 1,6 GHz
Karta graficzna
W Internecie znajdują się informacje, że karta graficzna może wpływać na wydajność 1C. Próbowaliśmy użyć profesjonalnego adaptera wideo zintegrowanego ze stacją roboczą Nvidia NVIDIA® Quadro® 4000 2 Gb DDR5, stary Karta graficzna GeForce 16MbSDR. Podczas testu Gilewa nie zauważono istotnej różnicy. Być może karta graficzna nadal działa, ale w rzeczywistych warunkach, kiedy trzeba otwierać zarządzane formularze itp.
Na chwilę obecną istnieją dwa podejrzenia dlaczego stacja robocza działa szybciej nawet przy zauważalnie gorszych parametrach:
- PROCESOR. Typ procesora na stacji roboczej jest lepiej dostosowany do 1C.
- Chipset. Przy pozostałych czynnikach nasza stacja robocza ma nowszy chipset i być może w tym leży problem.
Planujemy zakup niezbędnych komponentów i kontynuowanie testów, aby w końcu dowiedzieć się, co sprawia w większym stopniu Wydajność 1C zależy. W trakcie procesu akceptacji i zakupów zdecydowaliśmy się na optymalizację, zwłaszcza, że to nic nie kosztuje. Wyróżniono następujące etapy:
Etap 1. Konfiguracja systemu
Najpierw dokonajmy następujących ustawień w BIOS-ie i systemie operacyjnym:
- W BIOSie serwera wyłączamy wszystkie ustawienia, aby oszczędzać energię procesora.
- Wybierz w systemie operacyjnym plan „Maksymalna wydajność”.
- Procesor jest również dostrojony pod kątem maksymalnej wydajności. Można to zrobić za pomocą narzędzia PowerSchemeEd.
Etap 2. Konfiguracja serwera SQL i serwera 1C:Enterprise
Wprowadzamy następujące zmiany w ustawieniach serwera DBMS i 1C:Enterprise.
- Konfigurowanie protokołu pamięci współdzielonej:
- Pamięć współdzielona będzie włączona tylko na platformie począwszy od 1C 8.2.17; we wcześniejszych wersjach włączona będzie nazwana potok – nieco gorsza prędkość działania. Ta technologia działa tylko wtedy, gdy usługi 1C i MSSQL są zainstalowane na tym samym serwerze fizycznym lub wirtualnym.
- Zaleca się przełączenie usługi 1C w tryb debugowania, ponieważ paradoksalnie zapewnia to wzrost wydajności. Domyślnie debugowanie na serwerze jest wyłączone.
- Konfigurowanie serwera SQL:
- Potrzebujemy tylko serwera i innych usług z nim związanych i być może ktoś z nich korzysta, tylko spowalniają pracę. Zatrzymujemy i wyłączamy usługi takie jak: wyszukiwanie pełnotekstowe (1C ma własny mechanizm wyszukiwania pełnotekstowego), usługi integracyjne itp.
- Ustawiamy maksymalną ilość pamięci przydzielonej serwerowi. Jest to konieczne, aby serwer SQL obliczył tę kwotę i wcześniej wyczyścił pamięć.
- Ustawiamy maksymalną liczbę wątków (Maksymalna liczba wątków roboczych) i ustawiamy podwyższony priorytet serwera (Priorytet Boost).
Etap 3: Konfiguracja produkcyjnej bazy danych
Po optymalizacji serwera DBMS i 1C:Enterprise przechodzimy do ustawień bazy danych. Jeśli baza danych nie została jeszcze rozbudowana z pliku .dt, a znasz jej przybliżoną wielkość, to lepiej od razu wskazać wielkość inicjalizacyjną do pliku podstawowego poprzez „>=” wielkości bazy danych, ale to kwestia smaku, będzie nadal rosnąć podczas ekspansji. Należy jednak określić rozmiar automatycznego zwiększania: około 200 MB na bazę i 50 MB na dziennik, ponieważ Wartości domyślne – wzrost o 1 MB i 10% bardzo spowalniają pracę serwera, gdy musi on zwiększać plik co 3 transakcję. Ponadto lepiej jest określić przechowywanie pliku bazy danych i pliku dziennika na różnych dyskach fizycznych lub w grupach RAID, jeśli używana jest macierz RAID, i ograniczyć rozrost dziennika. Zaleca się przeniesienie pliku Tempdb do szybkiej tablicy, ponieważ system DBMS uzyskuje do niego dostęp dość często.
Etap 4. Konfigurowanie zaplanowanych zadań
Zaplanowane zadania tworzy się po prostu za pomocą Planu konserwacji w sekcji Zarządzanie, przy użyciu narzędzi graficznych, więc nie będziemy szczegółowo opisywać, jak to się robi. Przyjrzyjmy się, jakie operacje należy wykonać, aby poprawić produktywność.
- Defragmentację indeksów i aktualizację statystyk trzeba wykonywać codziennie, bo jeśli fragmentacja indeksu wynosi > 25%, radykalnie zmniejsza to wydajność serwera.
- Defragmentacja i aktualizacja statystyk odbywa się szybko i nie wymaga odłączania użytkowników. Zaleca się także robić to codziennie.
- Pełna reindeksacja – wykonywana przy zablokowanej bazie danych, zaleca się ją wykonywać przynajmniej raz w tygodniu. Oczywiście po całkowitym ponownym indeksowaniu indeksy są natychmiast defragmentowane, a statystyki aktualizowane.
W rezultacie, dzięki dostrojeniu systemu, serwera SQL i działającej bazy danych, udało nam się zwiększyć produktywność o 46%. Pomiary przeprowadzono za pomocą narzędzia 1C KIP i testu Gilewa. Ten ostatni pokazał 25,6 jednostki wobec 17,53, które były pierwotnie.
Krótkie podsumowanie
- Wydajność 1C nie zależy w dużym stopniu od częstotliwości pamięci RAM. Po osiągnięciu wystarczającej ilości pamięci dalsze rozszerzanie pamięci nie ma sensu, gdyż nie prowadzi do wzrostu wydajności.
- Wydajność 1C nie zależy od karty graficznej.
- Wydajność 1C nie zależy od podsystemu dysku, pod warunkiem, że kolejka odczytu lub zapisu dysku nie zostanie przekroczona. Jeśli dyski SATA są zainstalowane, a ich kolejka nie jest przekroczona, instalacja dysku SSD nie poprawi wydajności.
- Wydajność zależy w dużym stopniu od częstotliwości procesora.
- Przy odpowiedniej konfiguracji systemu operacyjnego i serwera MSSQL możliwe jest osiągnięcie wzrostu wydajności 1C o 40-50% bez żadnych kosztów materiałowych.
UWAGA! Bardzo ważny punkt! Wszystkie pomiary przeprowadzono na bazie testowej przy użyciu testu Gilev i narzędzi oprzyrządowania 1C. Zachowanie prawdziwej bazy danych z rzeczywistymi użytkownikami może różnić się od uzyskanych wyników. Przykładowo w testowej bazie danych nie znaleźliśmy żadnej zależności wydajności od karty graficznej i ilości pamięci RAM. Wnioski te są dość wątpliwe i w rzeczywistych warunkach czynniki te mogą mieć znaczący wpływ na wydajność. Podczas pracy z konfiguracjami korzystającymi z zarządzanych formularzy ważna jest karta graficzna, a mocny procesor graficzny przyspiesza pracę w zakresie rysowania interfejsu programu, wizualnie objawia się to szybszą pracą 1C.
Czy Twój 1C działa wolno? Zamów konserwację IT komputerów i serwerów przez specjalistów EFSOL z wieloletnim doświadczeniem lub przenieś swój 1C na wydajny i odporny na awarie serwer wirtualny 1C.
Integracja systemu. Ordynacyjny
Często otrzymujemy pytania o to, co spowalnia 1c, szczególnie przy przejściu na wersję 1c 8.3, dzięki naszym kolegom z Interface LLC, szczegółowo mówimy:
W naszych poprzednich publikacjach poruszaliśmy już temat wpływu wydajności podsystemu dyskowego na prędkość 1C, ale to badanie dotyczyło lokalnego korzystania z aplikacji na oddzielnym komputerze PC lub serwerze terminalowym. Jednocześnie większość małych wdrożeń polega na pracy z plikową bazą danych poprzez sieć, gdzie jeden z komputerów użytkownika pełni rolę serwera lub dedykowany serwer plików oparty na zwykłym, najczęściej także niedrogim komputerze.
Małe badanie zasobów rosyjskojęzycznych na 1C wykazało, że należy pilnie unikać tego problemu, a jeśli pojawią się problemy, zwykle zaleca się przejście do trybu klient-serwer lub terminal. Niemal powszechnie przyjęto również, że konfiguracje zarządzanej aplikacji działają znacznie wolniej niż zwykle. Z reguły podawane argumenty są „żelazne”: „Rachunkowość 2.0 właśnie przeleciała, ale „trojka” ledwo się poruszyła”, oczywiście w tych słowach jest trochę prawdy, więc spróbujmy to rozgryźć.
Zużycie zasobów, na pierwszy rzut oka
Zanim rozpoczęliśmy to badanie, postawiliśmy sobie dwa cele: dowiedzieć się, czy konfiguracje zarządzane oparte na aplikacjach są rzeczywiście wolniejsze niż konfiguracje konwencjonalne oraz które konkretne zasoby mają główny wpływ na wydajność.
Do testów wzięliśmy dwie maszyny wirtualne z systemem odpowiednio Windows Server 2012 R2 i Windows 8.1, dając im 2 rdzenie hosta Core i5-4670 i 2 GB pamięci RAM, co odpowiada w przybliżeniu przeciętnej maszynie biurowej. Serwer został umieszczony na macierzy RAID 0 złożonej z dwóch dysków WD Se, a klient na podobnej macierzy dysków ogólnego przeznaczenia.
Jako bazę eksperymentalną wybraliśmy kilka konfiguracji wydania Accounting 2.0 2.0.64.12 , który następnie został zaktualizowany do 3.0.38.52 , wszystkie konfiguracje zostały uruchomione na platformie 8.3.5.1443 .
Pierwszą rzeczą, która przyciąga uwagę, jest zwiększony rozmiar bazy informacyjnej Trojki, która znacznie się powiększyła, a także znacznie większy apetyt na pamięć RAM:
Jesteśmy gotowi usłyszeć zwykłe: „dlaczego dodali to do tej trójki”, ale nie spieszmy się. W przeciwieństwie do użytkowników wersji klient-serwer, które wymagają mniej lub bardziej wykwalifikowanego administratora, użytkownicy wersji plikowych rzadko myślą o utrzymaniu baz danych. Również pracownicy wyspecjalizowanych firm obsługujących (czytaj aktualizujących) te bazy rzadko o tym myślą.
Tymczasem baza informacji 1C jest pełnoprawnym systemem DBMS we własnym formacie, który również wymaga konserwacji, a do tego istnieje nawet narzędzie o nazwie Testowanie i poprawianie bazy informacji. Być może nazwa była okrutnym żartem, co w jakiś sposób sugeruje, że jest to narzędzie do rozwiązywania problemów, ale niska wydajność też jest problemem, a restrukturyzacja i reindeksowanie wraz z kompresją tabel to dobrze znane narzędzia do optymalizacji baz danych dla każdego administratora DBMS . Sprawdzimy?
Po zastosowaniu wybranych akcji baza danych gwałtownie „straciła na wadze”, stając się jeszcze mniejsza od „dwójki”, której nikt nigdy nie optymalizował, a zużycie pamięci RAM również nieznacznie spadło.
Następnie po załadowaniu nowych klasyfikatorów i katalogów, utworzeniu indeksów itp. rozmiar podstawy wzrośnie; ogólnie rzecz biorąc, „trzy” podstawy są większe niż „dwie” podstawy. Nie jest to jednak ważniejsze, jeśli druga wersja była zadowolona ze 150-200 MB RAM-u, to nowa edycja potrzebuje pół gigabajta i tę wartość należy wziąć pod uwagę planując zasoby niezbędne do pracy z programem.
Internet
Przepustowość sieci jest jednym z najważniejszych parametrów aplikacji sieciowych, szczególnie takich jak 1C w trybie plikowym, które przesyłają znaczne ilości danych w sieci. Większość sieci małych przedsiębiorstw zbudowana jest w oparciu o niedrogi sprzęt 100 Mbit/s, dlatego testy rozpoczęliśmy od porównania wskaźników wydajności 1C w sieciach 100 Mbit/s i 1 Gbit/s.
Co się stanie, gdy uruchomisz bazę danych plików 1C przez sieć? Klient pobiera dość dużą ilość informacji do folderów tymczasowych, szczególnie jeśli jest to pierwszy, „zimny” start. Przy 100 Mbit/s oczekuje się, że osiągniemy szerokość kanału, a pobieranie może zająć znaczną ilość czasu, w naszym przypadku około 40 sekund (koszt podzielenia wykresu wynosi 4 sekundy).
Drugie uruchomienie jest szybsze, ponieważ część danych jest przechowywana w pamięci podręcznej i pozostaje tam aż do ponownego uruchomienia. Przejście na sieć gigabitową może znacznie przyspieszyć ładowanie programu, zarówno „zimnego”, jak i „gorącego”, przy zachowaniu proporcji wartości. Dlatego postanowiliśmy wyrazić wynik w wartościach względnych, przyjmując największą wartość każdego pomiaru za 100%:
Jak widać na wykresach, Accounting 2.0 ładuje się przy dowolnej prędkości sieci dwa razy szybciej, przejście ze 100 Mbit/s na 1 Gbit/s pozwala czterokrotnie przyspieszyć czas pobierania. W tym trybie nie ma różnicy pomiędzy zoptymalizowanymi i niezoptymalizowanymi bazami danych „trojki”.
Sprawdziliśmy także wpływ prędkości sieci na pracę w ciężkich trybach, np. podczas transferów grupowych. Wynik jest również wyrażony w wartościach względnych:
Tutaj jest ciekawiej, zoptymalizowana baza „trójki” w sieci 100 Mbit/s działa z tą samą prędkością co „dwójka”, a niezoptymalizowana wykazuje dwukrotnie gorsze wyniki. W przypadku gigabitów współczynniki pozostają takie same, niezoptymalizowana „trójka” jest również o połowę wolniejsza niż „dwa”, a zoptymalizowana pozostaje w tyle o jedną trzecią. Ponadto przejście na 1 Gbit/s pozwala skrócić czas wykonania trzykrotnie w przypadku wersji 2.0 i o połowę w przypadku wersji 3.0.
Aby ocenić wpływ szybkości sieci na codzienną pracę, wykorzystaliśmy Pomiar wydajności, wykonując sekwencję z góry określonych działań w każdej bazie danych.
Właściwie w przypadku codziennych zadań przepustowość sieci nie jest wąskim gardłem, niezoptymalizowana „trójka” jest tylko o 20% wolniejsza niż „dwa”, a po optymalizacji okazuje się, że jest mniej więcej tak samo szybsza - zalety pracy w trybie cienkiego klienta są oczywiste. Przejście na 1 Gbit/s nie daje zoptymalizowanej bazie żadnych korzyści, a niezoptymalizowana i obydwa zaczynają działać szybciej, wykazując między sobą niewielką różnicę.
Z przeprowadzonych testów wynika, że sieć nie jest wąskim gardłem dla nowych konfiguracji, a zarządzana aplikacja działa jeszcze szybciej niż zwykle. Możesz także polecić przejście na 1 Gbit/s, jeśli najważniejsze są dla Ciebie duże zadania i prędkość ładowania bazy danych; w innych przypadkach nowe konfiguracje pozwalają na efektywną pracę nawet w wolnych sieciach 100 Mbit/s.
Dlaczego więc 1C jest powolny? Przyjrzymy się temu dalej.
Podsystem dyskowy serwera i dysk SSD
W poprzednim artykule osiągnęliśmy wzrost wydajności 1C, umieszczając bazy danych na dysku SSD. Być może wydajność podsystemu dyskowego serwera jest niewystarczająca? Zmierzyliśmy wydajność serwera dyskowego podczas pracy grupowej w dwóch bazach danych jednocześnie i uzyskaliśmy dość optymistyczny wynik.
Pomimo stosunkowo dużej liczby operacji wejścia/wyjścia na sekundę (IOPS) – 913, długość kolejki nie przekroczyła 1,84, co jest bardzo dobrym wynikiem jak na macierz dwudyskową. Na tej podstawie możemy założyć, że lustro wykonane ze zwykłych dysków wystarczy do normalnej pracy 8-10 klientów sieciowych w ciężkich trybach.
Czy dysk SSD jest potrzebny na serwerze? Najlepszą odpowiedzią na to pytanie będą testy, które przeprowadziliśmy podobną metodą, wszędzie łącze sieciowe ma prędkość 1 Gbit/s, wynik jest również wyrażony w wartościach względnych.
Zacznijmy od szybkości ładowania bazy danych.
Niektórym może się to wydawać zaskakujące, ale dysk SSD na serwerze nie wpływa na szybkość ładowania bazy danych. Głównym czynnikiem ograniczającym, jak pokazał poprzedni test, jest przepustowość sieci i wydajność klienta.
Przejdźmy do ponawiania:
Zauważyliśmy już powyżej, że wydajność dysku jest wystarczająca nawet do pracy w ciężkich trybach, więc nie ma to wpływu na prędkość dysku SSD, z wyjątkiem niezoptymalizowanej bazy, która na dysku SSD dogoniła zoptymalizowaną. Właściwie to po raz kolejny potwierdza, że operacje optymalizacyjne organizują informacje w bazie danych, zmniejszając liczbę losowych operacji we/wy i zwiększając szybkość dostępu do niej.
W codziennych zadaniach obraz jest podobny:
Tylko niezoptymalizowana baza danych czerpie korzyści z dysku SSD. Możesz oczywiście kupić dysk SSD, ale znacznie lepiej byłoby pomyśleć o terminowej konserwacji bazy danych. Nie zapomnij także o defragmentacji sekcji z bazami danych na serwerze.
Podsystem dysku klienta i dysk SSD
Omówiliśmy wpływ dysku SSD na szybkość działania lokalnie zainstalowanego 1C w poprzednim materiale, wiele z tego, co powiedziano, dotyczy również pracy w trybie sieciowym. Rzeczywiście, 1C dość aktywnie wykorzystuje zasoby dyskowe, w tym do zadań w tle i rutynowych. Na poniższym rysunku widać, jak Accounting 3.0 dość aktywnie uzyskuje dostęp do dysku przez około 40 sekund po załadowaniu.
Ale jednocześnie należy mieć świadomość, że w przypadku stacji roboczej, na której prowadzona jest aktywna praca z jedną lub dwiema bazami danych, zasoby wydajnościowe zwykłego, produkowanego masowo dysku twardego są w zupełności wystarczające. Zakup dysku SSD może przyspieszyć niektóre procesy, ale radykalnego przyspieszenia w codziennej pracy nie odczujesz, bo np. pobieranie będzie ograniczone przepustowością sieci.
Powolny dysk twardy może spowolnić niektóre operacje, ale sam w sobie nie może spowodować spowolnienia programu.
Baran
Pomimo tego, że pamięć RAM jest obecnie nieprzyzwoicie tania, wiele stacji roboczych nadal działa z ilością pamięci zainstalowaną w chwili zakupu. Tutaj czyhają pierwsze problemy. Bazując na tym, że przeciętna „trojka” potrzebuje około 500 MB pamięci, możemy założyć, że łączna ilość pamięci RAM wynosząca 1 GB nie wystarczy do pracy z programem.
Zmniejszyliśmy pamięć systemową do 1 GB i uruchomiliśmy dwie bazy informacyjne.
Na pierwszy rzut oka wszystko nie jest takie złe, program ograniczył apetyty i dobrze wpasował się w dostępną pamięć, ale nie zapominajmy, że zapotrzebowanie na dane operacyjne się nie zmieniło, więc dokąd to poszło? Zrzucane na dysk, do pamięci podręcznej, do wymiany itp. Istota tej operacji polega na tym, że dane, które w danym momencie nie są potrzebne, są wysyłane z szybkiej pamięci RAM, której ilość nie jest wystarczająca, aby spowolnić pamięć dysku.
Dokąd to prowadzi? Zobaczmy jak wykorzystywane są zasoby systemowe przy ciężkich operacjach, na przykład uruchommy retransfer grupowy w dwóch bazach danych jednocześnie. Najpierw w systemie z 2 GB pamięci RAM:
Jak widać, system aktywnie wykorzystuje sieć do odbioru danych, a procesor do ich przetwarzania; aktywność dysku jest niewielka; podczas przetwarzania sporadycznie wzrasta, ale nie jest czynnikiem ograniczającym.
Teraz zmniejszmy pamięć do 1 GB:
Sytuacja zmienia się radykalnie, główne obciążenie spada teraz na dysk twardy, procesor i sieć stoją w stanie bezczynności, czekając, aż system wczyta niezbędne dane z dysku do pamięci i wyśle tam niepotrzebne dane.
Jednocześnie nawet subiektywna praca z dwiema otwartymi bazami danych na systemie z 1 GB pamięci okazała się wyjątkowo niewygodna, katalogi i czasopisma otwierały się ze znacznym opóźnieniem i aktywnym dostępem do dysku. Przykładowo otwarcie arkusza Sprzedaż towarów i usług trwało około 20 sekund i przez cały ten czas towarzyszyła duża aktywność dysku (zaznaczona czerwoną linią).
Aby obiektywnie ocenić wpływ pamięci RAM na wydajność konfiguracji opartych na zarządzanej aplikacji, przeprowadziliśmy trzy pomiary: prędkość ładowania pierwszej bazy danych, prędkość ładowania drugiej bazy danych oraz grupowe ponowne uruchamianie w jednej z baz. . Obie bazy danych są całkowicie identyczne i powstały poprzez skopiowanie zoptymalizowanej bazy danych. Wynik wyrażony jest w jednostkach względnych.
Wynik mówi sam za siebie: jeśli czas ładowania wzrośnie o około jedną trzecią, co jest jeszcze w miarę znośne, to czas wykonywania operacji na bazie danych wzrośnie trzykrotnie, nie ma co mówić o komfortowej pracy w takich warunkach. Swoją drogą tak jest w przypadku zakupu dysku SSD, który może poprawić sytuację, ale o wiele łatwiej (i taniej) jest uporać się z przyczyną, a nie konsekwencjami i po prostu kupić odpowiednią ilość pamięci RAM.
Brak pamięci RAM to główny powód, dla którego praca z nowymi konfiguracjami 1C okazuje się niewygodna. Konfiguracje z 2 GB pamięci na pokładzie należy uznać za minimalnie odpowiednie. Jednocześnie należy pamiętać, że w naszym przypadku stworzono warunki „szklarniowe”: czysty system, działał tylko 1C i menedżer zadań. W prawdziwym życiu na komputerze służbowym z reguły otwarta jest przeglądarka, pakiet biurowy, uruchomiony jest program antywirusowy itp. Itd., więc zacznij od zapotrzebowania na 500 MB na bazę danych plus pewna rezerwa, aby podczas ciężkich operacji nie występuje brak pamięci i gwałtowny spadek produktywności.
procesor
Bez przesady centralny procesor można nazwać sercem komputera, ponieważ to on ostatecznie przetwarza wszystkie obliczenia. Aby ocenić jego rolę, przeprowadziliśmy kolejny zestaw testów, taki sam jak dla pamięci RAM, zmniejszając liczbę rdzeni dostępnych dla maszyny wirtualnej z dwóch do jednego, a test przeprowadzono dwukrotnie dla ilości pamięci 1 GB i 2 GB.
Wynik okazał się dość interesujący i nieoczekiwany: mocniejszy procesor dość skutecznie przejął obciążenie, gdy brakowało zasobów, przez resztę czasu nie dając żadnych wymiernych korzyści. 1C Enterprise trudno nazwać aplikacją aktywnie korzystającą z zasobów procesora, jest raczej mało wymagająca. A w trudnych warunkach procesor jest obciążany nie tyle obliczaniem danych samej aplikacji, ile obsługą kosztów ogólnych: dodatkowych operacji wejścia/wyjścia itp.
wnioski
Dlaczego więc 1C jest powolny? Przede wszystkim jest to brak pamięci RAM, główne obciążenie w tym przypadku spada na dysk twardy i procesor. A jeśli nie błyszczą wydajnością, jak to zwykle bywa w konfiguracjach biurowych, to otrzymujemy sytuację opisaną na początku artykułu – „dwójka” działała dobrze, ale „trójka” jest bezbożnie powolna.
Na drugim miejscu jest wydajność sieci, wolny kanał 100 Mbit/s może stać się prawdziwym wąskim gardłem, ale jednocześnie tryb cienkiego klienta jest w stanie utrzymać w miarę komfortowy poziom działania nawet na wolnych kanałach.
Następnie należy zwrócić uwagę na dysk – zakup dysku SSD raczej nie będzie dobrą inwestycją, ale wymiana dysku na nowocześniejszy byłaby dobrym pomysłem. Różnicę między generacjami dysków twardych można ocenić na podstawie następującego materiału: Recenzja dwóch niedrogich dysków z serii Western Digital Blue o pojemnościach 500 GB i 1 TB.
I na koniec procesor. Szybszy model oczywiście nie będzie zbędny, ale zwiększanie jego wydajności nie ma większego sensu, chyba że ten komputer będzie używany do ciężkich operacji: przetwarzania grupowego, ciężkich raportów, zamykania miesiąca itp.
Mamy nadzieję, że ten materiał pomoże Ci szybko zrozumieć pytanie „dlaczego 1C jest powolne” i rozwiązać je najskuteczniej i bez dodatkowych kosztów.
Każdy, kto pracuje z produktami na platformie 1C:Enterprise, prawdopodobnie słyszał wyrażenie „1C jest powolny”. Część osób skarżyła się na to, część przyjmowała skargi. W tym artykule postaramy się przyjrzeć najczęstszym przyczynom tego problemu i możliwościom jego rozwiązania.
Przejdźmy do metafory: zanim dowiemy się, dlaczego dana osoba gdzieś nie przyszła, upewnij się, że ma nogi do chodzenia. Zacznijmy więc od wymagań sprzętowych i sieciowych.
Jeśli zainstalowany jest system Windows 7:
Jeśli masz zainstalowany system Windows 8 lub 10:
Pamiętaj też, że na dysku musi być co najmniej 2 GB wolnego miejsca, a połączenie sieciowe musi mieć prędkość co najmniej 100 MB/s.
Nie ma większego sensu rozważanie cech serwerów w wersji klient-serwer, ponieważ w tym przypadku wszystko zależy od liczby użytkowników i specyfiki zadań, które rozwiązują w 1C.
Wybierając konfigurację serwera, należy pamiętać o następujących kwestiach:
- Jeden proces roboczy serwera 1C zużywa średnio 4 GB (nie mylić z połączeniem użytkownika, ponieważ jeden proces roboczy może mieć tyle połączeń, ile określisz w ustawieniach serwera);
- Korzystanie z 1C i DBMS (zwłaszcza MS SQL) na jednym serwerze fizycznym daje korzyści przy przetwarzaniu dużych ilości danych (na przykład zamknięcie miesiąca, obliczenie budżetu na podstawie modelu itp.), Ale znacznie zmniejsza wydajność podczas nieobciążonych operacji ( na przykład tworzenie i prowadzenie dokumentu wdrożeniowego itp.);
- Pamiętaj, że serwery 1C i system DBMS muszą być połączone kanałem „grubym” 1 GB;
- Używaj dysków o wysokiej wydajności i nie łącz ról serwera 1C i DBMS z innymi rolami (na przykład plik, AD, kontroler domeny itp.).
Jeśli po sprawdzeniu sprzętu 1C nadal zwalnia
Mamy małą firmę, 7 osób, a 1C jest powolny. Skontaktowaliśmy się ze specjalistami i powiedzieli, że ratuje nas tylko opcja klient-serwer. Ale dla nas takie rozwiązanie jest nie do przyjęcia, jest za drogie!
Przeprowadzaj rutynową konserwację bazy danych*:
1. Uruchom bazę danych w trybie konfiguratora.
2. W menu głównym wybierz „Administracja”, a w nim – „Testowanie i korekta”.
3. Zaznacz wszystkie pola jak na obrazku. Kliknij Uruchom.
*Ta procedura może zająć od 15 minut do godziny, w zależności od rozmiaru bazy danych i charakterystyki komputera.
Jeśli to nie pomoże, wówczas wykonujemy połączenie klient-serwer, ale bez dodatkowych inwestycji w sprzęt i oprogramowanie:
1. Wybierz najmniej obciążony komputer stacjonarny w biurze (nie notebook): musi mieć co najmniej 4 GB pamięci RAM i połączenie sieciowe o przepustowości co najmniej 100 MB/s.
2. Aktywuj na nim IIS (Internet Information Server). Dla tego:
3. Opublikuj swoją bazę danych na tym komputerze. Materiały na ten temat są dostępne w ITS. Można też skontaktować się ze specjalistą ds. wsparcia.
4. Na komputerach użytkowników skonfiguruj dostęp do bazy danych za pośrednictwem cienkiego klienta. Dla tego:
Otwórz okno uruchamiania 1C.
Wybierz swoją bazę pracy. Oto „Twoja baza”. Kliknij „Edytuj”. Ustaw przełącznik w pozycji „Na serwerze WWW”, w wierszu poniżej podaj nazwę lub adres IP serwera, na którym został aktywowany IIS oraz nazwę, pod którą opublikowano bazę danych. Kliknij Następny".
Ustaw przełącznik „Podstawowy tryb uruchamiania” na tryb „Thin Client”. Kliknij „Gotowe”.
Mamy dość dużą firmę, ale niezbyt dużą, około 50–60 osób, korzystamy z opcji klient-serwer, ale 1C działa strasznie wolno.
W takim przypadku zaleca się podzielenie serwera 1C i serwera DBMS na dwa różne serwery. Podczas rozdzielania pamiętaj: jeśli pozostały na tym samym serwerze fizycznym, który został po prostu zwirtualizowany, to dyski tych serwerów muszą być różne - fizycznie różne! Pamiętaj także o skonfigurowaniu rutynowych zadań na serwerze DBMS, jeśli chodzi o MS SQL (więcej szczegółów na ten temat opisano na stronie ITS)
Mamy dość dużą firmę, ponad 100 użytkowników. Wszystko jest skonfigurowane zgodnie z zaleceniami 1C dla tej opcji, ale podczas przetwarzania niektórych dokumentów 1C działa bardzo wolno, a czasami pojawia się błąd blokowania. Może zrób podstawowy rollup?
Podobna sytuacja powstaje ze względu na wielkość bardzo specyficznego rejestru akumulacyjnego lub księgowego (ale częściej - akumulacji), w związku z tym, że rejestr albo całkowicie się „zamyka”, tj. występują ruchy przychodzące, ale nie ma ruchów przepływowych lub liczba pomiarów, według których obliczane są salda rejestrów, jest bardzo duża. Może nawet istnieć kombinacja dwóch poprzednich powodów. Jak ustalić, który rejestr wszystko psuje?
Rejestrujemy czas, w którym dokumenty są przetwarzane powoli lub czas i użytkownika, u którego wystąpił błąd blokowania.
Otwórz dziennik rejestracji.
Odpowiedni dokument znajdujemy we właściwym czasie dla odpowiedniego użytkownika za pomocą zdarzenia typu „Data.Post”.
Przyglądamy się całemu blokowi realizacji aż do momentu anulowania transakcji, jeśli nastąpił błąd w blokowaniu, lub szukamy najdłuższej zmiany (czas od poprzedniego zapisu to ponad minuta).
Następnie podejmujemy decyzję, pamiętając, że zwinięcie tego konkretnego rejestru jest i tak tańsze niż cała baza danych.
Jesteśmy bardzo dużą firmą, ponad 1000 użytkowników, tysiące dokumentów dziennie, własny dział IT, ogromna flota serwerów, kilkakrotnie optymalizowaliśmy zapytania, ale 1C jest powolne. Najwyraźniej wyrośliśmy z 1C i potrzebujemy czegoś potężniejszego.
W zdecydowanej większości takich przypadków to nie 1C zwalnia, a architektura zastosowanego rozwiązania. Wybierając nowy program biznesowy pamiętaj, że zapisanie procesów biznesowych w programie jest tańsze i łatwiejsze niż konwersja ich do niektórych, zwłaszcza bardzo drogich programów. Tylko 1C zapewnia taką możliwość. Dlatego lepiej zadać pytanie: „Jak poprawić sytuację? Jak sprawić, by 1C „latał” przy takich ilościach?” Przyjrzyjmy się pokrótce kilku opcjom leczenia:
- Korzystaj z technologii programowania równoległego i asynchronicznego obsługiwanych przez 1C ( zadania w tle i zapytania w pętli).
- Projektując architekturę rozwiązania, należy unikać stosowania rejestrów akumulacyjnych i rejestrów księgowych w obszarach najbardziej wąskich gardeł.
- Tworząc strukturę danych (rejestry akumulacyjne i/lub informacyjne) należy kierować się zasadą: „Najszybszą tabelą do zapisu i odczytu jest tabela z jedną kolumną”. To, o czym mówimy, stanie się jaśniejsze, jeśli spojrzysz na typowy mechanizm RAUSE.
- Do przetwarzania dużych wolumenów danych należy stosować klastry pomocnicze, do których podłączona jest ta sama baza danych (ale w żadnym wypadku nie należy tego robić podczas pracy interaktywnej!!!). Umożliwi to ominięcie standardowych blokad 1C, co umożliwi pracę z bazą danych z niemal taką samą szybkością, jak podczas bezpośredniej pracy z narzędziami SQL.
Warto zaznaczyć, że optymalizacja 1C dla holdingów i dużych firm to temat na osobny, duży artykuł, dlatego bądźcie na bieżąco z aktualnymi materiałami na naszej stronie.
- Co oznaczają liczby w praktyce feng shui?
- Indywidualny przedsiębiorca: wszystko o indywidualnych przedsiębiorcach, w jasnym języku
- Sinkwine Kompilacja syncwine w materiałach edukacyjnych i metodologicznych dla szkoły podstawowej (klasa 3) na temat Sinkwine na temat szkoła
- Siergiej Rodin „Nikt poza tobą nigdy nie widzi świata. Nikt nie widzi świata twoimi oczami”