Wskazówki dotyczące automatyzacji. Wskazówki dotyczące automatyzacji 1s 8.3 działają powoli w sieci

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ć zintegrowanego wideo stacji roboczej, profesjonalnej karty Nvidia NVIDIA® Quadro® 4000 2 Gb DDR5 i starej karty graficznej 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:

  1. PROCESOR. Typ procesora na stacji roboczej jest lepiej dostosowany do 1C.
  2. 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ę, od czego w dużej mierze zależy wydajność 1C. 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:

  1. W BIOSie serwera wyłączamy wszystkie ustawienia, aby oszczędzać energię procesora.
  2. Wybierz w systemie operacyjnym plan „Maksymalna wydajność”.
  3. 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.

  1. 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.
  2. 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.
  3. 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

  1. 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.
  2. Wydajność 1C nie zależy od karty graficznej.
  3. 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.
  4. Wydajność zależy w dużym stopniu od częstotliwości procesora.
  5. 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

  1. Konfigurowanie zadań rutynowych i zadań w tle;
  2. Diagnostyka i eliminacja błędów w bazie informacji posiadającej format zapisu danych plikowych;
  3. Rozpocznij indeksowanie wyszukiwania pełnotekstowego w 1C lub całkowicie je wyłącz;
  4. Uruchomienie bazy danych na najnowszych Platformach 8.3.8;
  5. Uruchomienie w cienkim kliencie;
  6. Zwiększenie szybkości ponownego przesyłania dokumentów, gdy program antywirusowy jest wyłączony;
  7. Uruchom przeliczenie sum i przywrócenie sekwencji;
  8. Wykonaj testowanie i korektę bazy danych, sprawdzając za pomocą narzędzia chdbfl.exe;
  9. Jeżeli konfiguracja nie jest standardowa, czyli zmodyfikowana przez programistów dla konkretnej organizacji, należy przeprowadzić kontrolę konfiguracji;
  10. Wyłącz niepotrzebne tryby funkcjonalne;
  11. Skonfiguruj uprawnienia użytkownika;
  12. Splot podstawowy;
  13. Aktualizacja sprzętu.

Metoda 1. Konfigurowanie zadań rutynowych i zadań w tle

Aplikacja w nowej edycji 1C Accounting 3.0 oprócz wykonywania głównej pracy rozpoczyna operacje w tle, co prowadzi do zmniejszenia wydajności programu.

Tryb tła to tryb gotowości, to znaczy operacja jest zawsze wykonywana, chociaż nie jest używana.

Krok 1. Konfigurowanie zadań rutynowych i w tle

Otwieramy listę zadań rutynowych i zadań w tle: sekcja Administracja – Wsparcie i konserwacja – Rutynowe operacje – Rutynowe i wykonywane w tle zadania:

Po uruchomieniu programu 1C 8.3 zadania w tle są automatycznie uruchamiane i wykonywane są rutynowe zadania, które zużywają ogromną ilość zasobów i spowalniają program. Dlatego konieczne jest przeanalizowanie pracy księgowych i określenie, które zadania w tle należy pozostawić w trybie autorun, a które wyłączyć.

Na rysunku widzimy listę rutynowych zadań uruchamianych w 1C 8.3 Księgowość:

Na rysunku widzimy listę ukończonych zadań w tle:

Na przykład,

  • Program księgowy 1C 8.3 jest stale podłączony do witryny w celu aktualizacji różnych klasyfikatorów;
  • Jeżeli przedsiębiorstwo nie prowadzi działalności związanej z walutami obcymi, nie ma potrzeby śledzenia kursów walut;
  • Jeśli księgowy nie korzysta w programie z wyszukiwania pełnotekstowego, wówczas nie zaleca się uruchamiania procesu „Wyodrębniania tekstu”.

Krok 2: Wyłącz niepotrzebne zadania

Przyjrzyjmy się bliżej, jak wyłączyć pobieranie. Umieść kursor na żądanej linii i kliknij dwukrotnie:

Aby wyłączyć zadanie, odznacz pole Włączone:

Krok 3. Ustalenie harmonogramu rutynowych zadań

Przyjrzyjmy się bliżej, jak skonfigurować harmonogram. Umieść kursor na żądanej linii i kliknij dwukrotnie:

Wybierz element Harmonogram:

W oknie, które zostanie otwarte, przejdź do żądanej zakładki i dokonaj odpowiednich ustawień:

Metoda 2. Diagnoza i eliminacja błędów w bazie informacji posiadającej format zapisu danych plikowych

Krok 1.

Tworzymy kopię zapasową bazy danych.

Krok 2.

Rozpocznijmy procedurę. W tym celu należy otworzyć Konfigurator i uruchomić procedurę Testowanie i poprawianie bazy informacji: sekcja Administracja – Testowanie i poprawianie. Wybierz kontrole i tryby, które należy wykonać dla bazy danych:

Przyjrzyjmy się bliżej proponowanym opcjom weryfikacji:

  • Ponowne indeksowanie tabel infobase – przebudowuje indeksy tabel w celu poprawy wydajności bazy danych;
  • Sprawdzenie integralności logicznej bazy informacji – sprawdzenie logiki bazy danych;
  • Sprawdzenie integralności referencyjnej bazy informacji - sprawdzenie integralności logicznej bazy danych w celu wykrycia „zepsutych” łączy;
  • Przeliczenie sum – przeliczenie sum tabel rejestru akumulacji;
  • Kompresja tabel infobase – zmniejsza rozmiar bazy danych po przetestowaniu i poprawieniu;
  • Restrukturyzacja tabel infobase – optymalizuje strukturę bazy danych przy użyciu plików pomocniczych w celu zwiększenia stabilności i wydajności.

Jeżeli w trybie Sprawdzanie integralności referencyjnej bazy danych wybierzemy opcję Procedura testowania i korygowania, wówczas dostępne staną się pozycje ustawień przetwarzania błędów bazy danych:

  • Ustęp Gdy występują odniesienia do nieistniejących obiektów oznacza, że ​​w przypadku wykrycia „zepsutych” linków, przetworzy je z wykorzystaniem wybranej opcji;
  • Ustęp W przypadku częściowej utraty danych obiektu oznacza, że ​​pozostałe dane wystarczą do przywrócenia danych jakiegoś obiektu.

Procedurę testowania i korygowania bazy informacyjnej 1C można wykonać wyłącznie w trybie wyłącznym.

Metoda 3. Rozpocznij indeksowanie wyszukiwania pełnotekstowego w 1C lub całkowicie je wyłącz

1C opracowało pełnotekstowe wyszukiwanie danych, aby ułatwić użytkownikowi wyszukiwanie nieznanych informacji. Cechą pełnotekstowego wyszukiwania danych w 1C 8.3 jest:

  • Użytkownik może wpisać zapytanie w prostej formie i skorzystać z operatorów specjalnych takich jak: i, lub, nie.
  • Pełnotekstowe wyszukiwanie danych działa z polami typu ValueStorage oraz z długimi polami tekstowymi i użytkownikowi nie zostaną pokazane wyniki, do których nie ma uprawnień.

Na przykład musisz skonfigurować wyszukiwanie pełnotekstowe w dokumentach raportu wstępnego.

Krok 1.

Krok 2.

Otwórz dokument Raport zaawansowany: menu Konfigurator – Otwórz konfigurację.

Krok 3.

W wierszu Wyszukiwanie pełnotekstowe wybierz opcję Użyj: Raport wstępny – Pole wejściowe – Wyszukiwanie pełnotekstowe:

Krok 4.

Uruchamiamy program i aktualizujemy tryb wyszukiwania pełnotekstowego. Otwórz Regularne operacje: sekcja Administracja – Ustawienia programu – Wsparcie i konserwacja:

Krok 5.

Otwórz ustawienia i zaktualizuj indeks za pomocą przycisku Aktualizuj indeks:

Metoda 4. Uruchomienie bazy danych na najnowszych platformach 8.3.8

Jak zaktualizować platformę technologiczną 1C 8.3, zobacz nasz samouczek wideo:

Specjaliści 1C poprawili rozkład obciążenia:

  • Możliwe jest dokładniejsze kontrolowanie ilości pamięci zużywanej przez procesy robocze serwera, co czyni klaster bardziej odpornym na nieostrożne działania użytkowników.
  • W tle restrukturyzacja baz informacyjnych. Nowa funkcja pozwala zminimalizować czas przestoju systemu wymagany do aktualizacji rozwiązań aplikacyjnych.
  • Platforma w wersji 8.3 otrzymała nowy interfejs dla aplikacji „Taxi”, wygodniejszy i wizualny, z nowym, jasnym designem. Ulepszone możliwości nawigacji w aplikacji. Użytkownik może samodzielnie dostosować swoją przestrzeń roboczą, umieszczając panele w różnych obszarach ekranu. Nowy mechanizm wprowadzania liniowego znacznie przyspiesza wyszukiwanie danych. Aby uzyskać więcej informacji na temat nowych funkcji interfejsu „Taxi” programu księgowego 1C 8.3, obejrzyj nasz film:

Metoda 5. Uruchom w Thin Client

Praca w trybie cienkiego klienta jest możliwa tylko w trybie aplikacji zarządzanej. W trybie cienkiego klienta wszystkie działania są wykonywane na serwerze, a użytkownik otrzymuje jedynie ekran otrzymanych informacji. Ten tryb pracy nie wymaga dużych zasobów zarówno systemu, jak i kanału komunikacyjnego.

Metoda 6. Zmień oprogramowanie antywirusowe

Jeśli masz zainstalowany program antywirusowy Avast lub Kaspersky, zaleca się zastąpienie go innym. Doświadczenie pokazuje, że prędkość przesyłania dokumentów, gdy program antywirusowy jest wyłączony, znacznie wzrasta, ponieważ programy antywirusowe zajmują zasoby komputera.

Metoda 7. Testowanie i poprawianie bazy danych, sprawdzanie za pomocą narzędzia chdbfl.exe

Należy przeprowadzić Testowanie i korektę bazy danych, po uprzednim wykonaniu kopii.

Krok 1. Zrób kopię bazy danych

Jak wykonać kopię zapasową 1C 8.3, zobacz następujący samouczek wideo:

Krok 2. Sprawdź za pomocą narzędzia chdbfl.exe

Narzędzie chdbfl.exe jest używane w przypadkach, gdy system nie uruchamia się nawet w trybie konfiguratora. Narzędzie znajduje się w folderze „bin” zainstalowanej platformy technologicznej, na przykład: c:\Program Files (x86)\1cv8\8.3.9.1818\bin\chdbfl.exe:

Sprawdzamy za pomocą narzędzia chdbfl.exe:

Krok 3. Wykonaj testowanie i poprawianie bazy danych

Wykonaj Testowanie i korektę bazy danych uruchamiając system w trybie konfiguratora.

Krok 4. Przywrócenie kolejności dokumentów

Aby przywrócić sekwencję w 1C 8.3, otwórz Wszystkie funkcje: Menu główne - Wszystkie funkcje. Wybierz żądany element i otwórz za pomocą przycisku Otwórz:

W oknie, które zostanie otwarte przejdź do zakładki Przywróć sekwencje i kliknij Przywróć lub Przywróć wszystko:

Metoda 8. Jeśli konfiguracja nie jest standardowa, sprawdź konfigurację

Jeśli konfiguracja nie jest standardowa, czyli zmodyfikowana przez programistów pod konkretną organizację, wówczas sprawdzamy konfigurację.

Krok 1.

Uruchamiamy program w trybie Konfiguratora.

Krok 2.

Otwórz konfigurację bazy danych: sekcja Konfiguracja – Konfiguracja bazy danych:

Krok 3.

Wybierz element Sprawdź konfigurację i dokonaj ustawień:

Metoda 9: Wyłącz niepotrzebne tryby funkcjonalne

Otwórz Funkcjonalność programu 1C 8.3: sekcja Główne - Ustawienia - Funkcjonalność, wprowadź ustawienia dla każdej sekcji:

Metoda 10. Skonfiguruj uprawnienia użytkownika

Krok 1.

Uruchamiamy 1C 8.3 w trybie konfiguratora.

Krok 2.

Otwórz listę użytkowników: sekcja Administracja – Użytkownicy. W zakładce Inne ustalamy, jakie role należy przypisać użytkownikowi i zaznaczamy je.

Ograniczenie wybranej funkcjonalności skraca czas potrzebny programowi na sortowanie zarządzanych formularzy podczas otwierania listy dokumentów, czyli im mniej niepotrzebnych jest w zarządzanym interfejsie, tym szybciej działa:

Metoda 11. Defragmentacja dysku z plikową bazą danych

Procedura defragmentacji dysku optymalizuje pliki znajdujące się na dysku twardym w celu zwiększenia szybkości systemu. Defragmentację należy przeprowadzać tylko wtedy, gdy jest to konieczne, ponieważ zwiększa to zużycie dysku.

Po wybraniu dysku twardego prawym przyciskiem myszy wywołaj polecenie Właściwości:

Na karcie Narzędzia wybierz Optymalizacja i defragmentacja dysku:

Metoda 12. Składanie podstawy

– to zapisanie sald bieżących na określoną datę i usunięcie starych, niepotrzebnych dokumentów. Metoda ta może być przydatna, jeśli baza danych jest duża, np. kilkuletnia. Rollup musi zostać wykonany bez użytkowników pracujących w systemie.

Krok 1. Utwórz kopię bazy danych

Krok 2. Przeprowadzamy procedurę zwijania bazy danych 1C 8.3

Sekcja Administracja – Serwis – Załamanie bazy informacji.

Na pierwszym etapie program 1C 8.3 sugeruje wykonanie kopii zapasowej, w której należy określić katalog do zapisania. Kliknij Następny:

Czy Twój 1C znowu jest wolny?Marnujesz czas przygotowując raport?Masz dość picia herbaty w oczekiwaniu na wymianę danych?

Sytuacja z powolną pracą 1C nie jest rzadkością. Możesz to znieść lub zoptymalizować ustawienia 1C i sprzętu, co znacznie zwiększy szybkość Twojej pracy.

Nasze usługi pomogą Ci zrobić więcej w ciągu dnia pracy! Wiemy, jak przyspieszyć 1C, aby nigdy nie powtarzać słów „1C zawiesza się”.

Dlaczego 1C może zamarznąć lub spowolnić?

Mogą wystąpić problemy ze sprzętem. Brak pamięci na serwerze 1C, niestabilna praca w sieci lokalnej, problemy z dyskiem twardym lub kluczami bezpieczeństwa - wszystko to może spowolnić 1C i zdenerwować. Ponadto 1C może zamarznąć z powodu:

  • słaba kompatybilność platformy i konfiguracji,
  • rażące błędy początkujących programistów 1C,
  • ogromny rozmiar podstawy,
  • duża liczba użytkowników.

Nawet błędy podczas normalnej pracy z 1C mogą również prowadzić do jego powolnego działania.

Jak przyspieszyć 1C?

Postępujemy w ten sposób:

  • Sprawdzamy sprzęt pod kątem zgodności z wymaganiami technologicznymi 1C. Może być konieczne zwiększenie pamięci RAM, skonfigurowanie serwera 1C, wymiana dysku lub sprawdzenie szybkości sieci lokalnej. Inaczej mówiąc, przeprowadzamy kompleksową kontrolę całego sprzętu biorącego udział w procesie.
  • Sprawdzamy ustawienia innych usług zaangażowanych w działanie 1C. Na przykład niepoprawnie skonfigurowana baza danych SQL lub zawodny dostęp do terminala może znacznie spowolnić 1C.
  • Sprawdzamy poprawność kodu konfiguracyjnego 1C, z którym występują problemy. Nie jest tajemnicą, że ten sam problem z oprogramowaniem można rozwiązać na różne sposoby. Nieoptymalny kod często powoduje zawieszenie 1C.
  • Podczas pracy z 1C sprawdzamy wzorzec pracy użytkownika. Czasami użytkownicy sami spowalniają 1C i nie są tego świadomi..

Jak przyspieszyć pracę w 1C: Księgowość 8.3 (edycja 3.0) lub wyłączyć zadania rutynowe i w tle

2019-01-15T13:28:19+00:00

Ci z Was, którzy już przeszli na nową edycję 1C: Accounting 8.3 (edycja 3.0), zauważyli, że stała się ona wolniejsza niż 2. Jakieś dziwne spowolnienia, niekończące się zadania w tle kilka razy dziennie, o wykonanie których nikt nie prosił jej bez naszej wiedzy.

Moi księgowi powiedzieli mi natychmiast po przejściu, że nowa edycja 1C: Accounting 3.0 jest wręcz powolna w porównaniu do poprzednich! I po prostu nie da się pracować.

Zacząłem się nad tym zastanawiać i bardzo szybko odkryłem, że główną przyczyną zawieszania się i późniejszego niezadowolenia użytkowników są zadania rutynowe i wykonywane w tle, z których wiele jest domyślnie włączonych, chociaż dla zdecydowanej większości księgowych nie są one potrzebne.

No cóż, na przykład, dlaczego musimy uruchamiać zadanie „Wyodrębnianie tekstu” sto razy dziennie, jeśli nie przeprowadzamy wyszukiwania pełnotekstowego (nie martwcie się, księgowi) we wszystkich obiektach w naszej bazie danych.

Albo po co ciągle pobierać kursy walut, skoro nie mamy transakcji walutowych lub robimy je okazjonalnie (a wcześniej sami możemy kliknąć przycisk pobierania kursów).

To samo dotyczy ciągłych prób połączenia się ze stroną 1C oraz sprawdzania i aktualizowania klasyfikatorów banków. Po co? Sam nacisnę przycisk, aby zaktualizować klasyfikatory, jeśli nie znajdę odpowiedniego banku po jego BIC.

Jak to zrobić krok po kroku poniżej.

1. Przejdź do sekcji „Administracja” i w panelu akcji wybierz „Konserwacja” ():

2. W oknie, które zostanie otwarte, znajdź i wybierz „Zadania rutynowe i w tle”:

3. Otwórz każde zadanie, które ma opcję „Włączone” w kolumnie „Włączone”. jest świt.

4. Odznacz opcję „Włączone” i kliknij przycisk „Zapisz i zamknij”.

5. Zrób to z każdym z dołączonych zadań i ciesz się nową edycją. Ogólnie moim zdaniem jest dużo lepiej niż dwójka.

Jednocześnie platforma nadal będzie umożliwiać część zaplanowanych zadań, które wyłączyłeś.

Głównym celem napisania tego artykułu jest uniknięcie powtarzania oczywistych niuansów dla administratorów (i programistów), którzy nie zdobyli jeszcze doświadczenia z 1C.

Celem drugorzędnym jest to, że jeśli mam jakieś braki, Infostart najszybciej mi je zwróci.

Test V. Gilewa stał się już swego rodzaju „de facto” standardem. Autor na swojej stronie dał dość jasne rekomendacje, ja natomiast przedstawię po prostu kilka wyników i skomentuję najbardziej prawdopodobne błędy. Oczywiście wyniki testów na Twoim sprzęcie mogą się różnić; to tylko wskazówka, jak powinno być i do czego możesz dążyć. Zaznaczam od razu, że zmiany trzeba wprowadzać krok po kroku i po każdym kroku sprawdzać, jaki dał to efekt.

Na Infostart są podobne artykuły, w odpowiednich działach zamieszczę linki do nich (jeśli coś przeoczyłem, proszę o sugestię w komentarzach, dodam). Załóżmy więc, że Twój 1C jest powolny. Jak zdiagnozować problem i jak zrozumieć, kto jest winny, administrator czy programista?

Wstępne dane:

Testowany komputer, główna świnka morska: HP DL180G6, wyposażony w 2*Xeon 5650, 32 Gb, Intel 362i, Win 2008 r2. Dla porównania Core i3-2100 wykazuje porównywalne wyniki w teście jednowątkowym. Sprzęt, który celowo wybrałem, nie był najnowszy, na nowoczesnym sprzęcie rezultaty są zauważalnie lepsze.

Do testowania oddzielnych serwerów 1C i SQL, serwer SQL: IBM System 3650 x4, 2*Xeon E5-2630, 32 Gb, Intel 350, Win 2008 r2.

Do testów sieci 10 Gbit wykorzystano adaptery Intel 520-DA2.

Wersja pliku. (baza danych znajduje się na serwerze w folderze udostępnionym, klienci łączą się poprzez sieć, protokół CIFS/SMB). Algorytm krok po kroku:

0. Dodaj testową bazę danych Gilev do serwera plików w tym samym folderze, co główne bazy danych. Łączymy się z komputera klienckiego i uruchamiamy test. Pamiętamy wynik.

Rozumie się, że nawet w przypadku starych komputerów sprzed 10 lat (Pentium na gnieździe 775 ) czas od kliknięcia skrótu 1C:Enterprise do pojawienia się okna bazy danych powinien upłynąć mniej niż minutę. ( Celeron = powolny).

Jeśli masz komputer gorszy od Pentium Gniazdo 775 z 1 GB RAM-u, to współczuję Ci i trudno będzie Ci osiągnąć wygodną pracę na 1C 8.2 w wersji plikowej. Pomyśl o modernizacji (najwyższy czas) lub przejściu na serwer terminalowy (lub internetowy, w przypadku cienkich klientów i formularzy zarządzanych).

Jeśli komputer nie jest gorszy, możesz wyrzucić administratora. Sprawdź przynajmniej działanie sieci, antywirusa i sterownika ochrony HASP.

Jeśli test Gilewa na tym etapie wykazał 30 „papug” lub więcej, ale baza robocza 1C nadal działa powoli, pytania należy skierować do programisty.

1. Jako wskazówkę, ile może „wycisnąć” komputer kliencki, sprawdzamy działanie tylko tego komputera, bez sieci. Testową bazę danych instalujemy na komputerze lokalnym (na bardzo szybkim dysku). Jeśli komputer kliencki nie ma normalnego dysku SSD, tworzony jest ramdysk. Na razie najprostszym i darmowym jest Enterprise Ramdisk.

Do przetestowania wersji 8.2 wystarczy ramdysk 256 MB i! Najważniejsze. Po ponownym uruchomieniu komputera, przy uruchomionym ramdysku powinno być na nim 100-200 MB wolnego miejsca. Odpowiednio, bez ramdysku, do normalnej pracy powinno być 300-400 MB wolnej pamięci.

Do przetestowania wersji 8.3 wystarczy ramdysk 256 MB, ale potrzeba więcej wolnej pamięci RAM.

Podczas testowania należy zwrócić uwagę na obciążenie procesora. W przypadku bliskim ideału (ramdysk) plik lokalny 1c podczas działania ładuje 1 rdzeń procesora. W związku z tym, jeśli podczas testowania rdzeń procesora nie jest w pełni obciążony, poszukaj słabych punktów. Opisano trochę emocjonalny, ale ogólnie poprawny wpływ procesora na działanie 1C. Dla porównania, nawet na nowoczesnych Core i3 z wysokimi częstotliwościami liczby 70-80 są całkiem realistyczne.

Najczęstsze błędy na tym etapie.

a) Nieprawidłowo skonfigurowany program antywirusowy. Istnieje wiele programów antywirusowych, ustawienia dla każdego są inne, powiem tylko, że przy odpowiedniej konfiguracji ani internet, ani Kaspersky 1C nie przeszkadzają. Przy ustawieniach domyślnych można zabrać około 3-5 papug (10-15%).

b) Tryb wydajności. Z jakiegoś powodu niewiele osób zwraca na to uwagę, ale efekt jest najbardziej znaczący. Jeśli potrzebujesz szybkości, musisz to zrobić zarówno na komputerach klienckich, jak i serwerowych. (Gilev ma dobry opis. Jedynym zastrzeżeniem jest to, że na niektórych płytach głównych, jeśli wyłączysz Intel SpeedStep, nie będzie można włączyć TurboBoost).

Krótko mówiąc, gdy 1C działa, dużo czekania na odpowiedź od innych urządzeń (dysk, sieć itp.). W oczekiwaniu na odpowiedź, jeśli włączony jest tryb wydajności, procesor obniża swoją częstotliwość. Odpowiedź pochodzi z urządzenia, 1C (procesor) musi działać, ale pierwsze cykle zegara mają zmniejszoną częstotliwość, następnie częstotliwość wzrasta - i 1C ponownie czeka na odpowiedź z urządzenia. I tak - wiele setek razy na sekundę.

Możesz (i najlepiej) włączyć tryb wydajności w dwóch miejscach:

Przez BIOS. Wyłącz tryby C1, C1E, Intel C-state (C2, C3, C4). W różnych biosach są one nazywane inaczej, ale znaczenie jest takie samo. Wyszukiwanie zajmuje dużo czasu, wymagane jest ponowne uruchomienie, ale jeśli zrobisz to raz, możesz o tym zapomnieć. Jeśli zrobisz wszystko poprawnie w BIOS-ie, prędkość wzrośnie. Na niektórych płytach głównych można skonfigurować ustawienia BIOS-u tak, aby tryb wydajności systemu Windows nie odgrywał żadnej roli. (Przykładowe ustawienia BIOS-u z Gilev). Ustawienia te dotyczą głównie procesorów serwerowych lub „zaawansowanych” BIOS-ów, jeśli tego nie znalazłeś i NIE masz Xeona, to w porządku.

Panel sterowania - Zasilacz - Wysoka wydajność. Minus - jeśli komputer nie był serwisowany przez dłuższy czas, będzie głośniej pracował wentylator, mocniej się nagrzewał i zużywał więcej energii. Jest to opłata za wyniki.

Jak sprawdzić, czy tryb jest włączony. Uruchom menedżera zadań - wydajność - monitor zasobów - procesor. Czekamy, aż procesor będzie zajęty niczym.

Są to ustawienia domyślne.

W stanie C systemu BIOS dołączony,

tryb zrównoważonego zużycia energii


W stanie C systemu BIOS dołączony, tryb wysokiej wydajności

W przypadku Pentium i Core możesz na tym poprzestać,

Z Xeona nadal można wycisnąć małe „papugi”.


W stanie C systemu BIOS wyłączony, tryb wysokiej wydajności.

Jeśli nie używasz Turbo Boost, tak to powinno wyglądać

serwer dostrojony pod kątem wydajności


A teraz liczby. Przypomnę: Intel Xeon 5650, ramdysk. W pierwszym przypadku test pokazuje 23,26, w ostatnim - 49,5. Różnica jest prawie podwójna. Liczby mogą się różnić, ale stosunek pozostaje zasadniczo taki sam dla Intel Core.

Drodzy administratorzy, możecie krytykować 1C tak bardzo, jak chcecie, ale jeśli użytkownicy końcowi potrzebują szybkości, musicie włączyć tryb wysokiej wydajności.

c) Turbodoładowanie. Najpierw musisz na przykład dowiedzieć się, czy Twój procesor obsługuje tę funkcję. Jeśli obsługuje, nadal możesz całkiem legalnie uzyskać pewną wydajność. (Nie chcę poruszać kwestii podkręcania częstotliwości, zwłaszcza serwerów, rób to na własne ryzyko i ryzyko. Zgadzam się jednak, że zwiększenie prędkości magistrali ze 133 do 166 daje bardzo zauważalny wzrost zarówno prędkości, jak i odprowadzania ciepła)

Jak włączyć turbodoładowanie jest napisane np. . Ale! W przypadku 1C istnieją pewne niuanse (nie najbardziej oczywiste). Trudność polega na tym, że maksymalny efekt turbodoładowania występuje, gdy włączony jest stan C. I otrzymujemy coś takiego:

Należy pamiętać, że mnożnik jest maksymalny, prędkość rdzenia jest piękna, a wydajność wysoka. Ale co stanie się w rezultacie z 1s?

Czynnik

Szybkość rdzenia (częstotliwość), GHz

Pojedynczy wątek CPU-Z

Test Gilewa Ramdysku

wersja pliku

Test Gilewa Ramdysku

klient-serwer

Bez Turbo Boosta

Stan C wyłączony, doładowanie Turbo

53.19

40,32

Stan C włączony, Turbo Boost

1080

53,13

23,04

Ale ostatecznie okazuje się, że według testów wydajności procesora wyprzedza wersję z mnożnikiem 23, według testów Gilewa w wersji plikowej wydajność z mnożnikiem 22 i 23 jest taka sama, ale w trybie klient-serwer wersja - wersja z mnożnikiem 23 jest okropnie okropna (nawet jeśli C -state jest ustawione na poziom 7, to i tak jest wolniejsza niż przy wyłączonym C-state). Sugerujemy zatem samodzielne sprawdzenie obu opcji i wybranie najlepszej. W każdym razie różnica między 49,5 a 53 papugami jest dość znacząca, zwłaszcza bez większego wysiłku.

Wniosek - należy włączyć turbodoładowanie. Przypomnę, że nie wystarczy włączyć w BIOSie opcję Turbo boost, trzeba jeszcze zajrzeć do innych ustawień (BIOS: QPI L0s, L1 – wyłącz, żądanie szorowania – wyłącz, Intel SpeedStep – włącz, Turbo boost – włącz Panel sterowania - Opcje zasilania - Wysoka wydajność). I nadal wybrałbym (nawet dla wersji plikowej) opcję, w której stan c jest wyłączony, mimo że mnożnik jest mniejszy. Wyjdzie coś takiego...

Dość kontrowersyjną kwestią jest częstotliwość pamięci. Wykazano na przykład, że częstotliwość pamięci ma bardzo silny wpływ. Moje badania nie wykazały takiej zależności. Nie będę porównywał DDR 2/3/4, pokażę skutki zmiany częstotliwości w obrębie tej samej linii. Pamięć jest ta sama, ale w BIOSie jesteśmy zmuszeni ustawić niższe częstotliwości.




I wyniki testów. 1C 8.2.19.83, dla wersji pliku lokalny ramdysk, dla klient-serwer 1C i SQL na jednym komputerze, pamięć współdzielona. W obu wersjach funkcja Turbo Boost jest wyłączona. 8.3 pokazuje porównywalne wyniki.

Różnica mieści się w błędzie pomiaru. Specjalnie wyciągnąłem zrzuty ekranu z CPU-Z, aby pokazać, że wraz ze zmianą częstotliwości zmieniają się również inne parametry, te same opóźnienia CAS i RAS na opóźnienie CAS, które neutralizują zmianę częstotliwości. Różnica będzie polegać na fizycznej zmianie modułów pamięci z wolniejszych na szybsze, ale nawet tam liczby nie są szczególnie znaczące.

2. Kiedy już uporządkujemy procesor i pamięć komputera klienckiego, przechodzimy do kolejnego bardzo ważnego miejsca - sieci. Na temat tuningu sieci napisano wiele tomów książek, są artykuły na Infostart (i inne), ale tutaj nie będę się skupiał na tym temacie. Przed rozpoczęciem testowania 1C upewnij się, że iperf między dwoma komputerami pokazuje całą przepustowość (dla kart 1 Gbit - cóż, co najmniej 850 Mbit, a jeszcze lepiej 950-980), czy zastosowano się do rad Gilewa. Następnie - najprostszym testem działania będzie, co dziwne, skopiowanie jednego dużego pliku (5-10 gigabajtów) przez sieć. Pośrednią oznaką normalnej pracy w sieci 1 Gbit będzie średnia prędkość kopiowania 100 MB/s, dobra praca - 120 MB/s. Chciałbym zwrócić uwagę na fakt, że słabym punktem (w tym) może być obciążenie procesora. MŚP Protokół w systemie Linux jest dość słabo zrównoleglony i podczas pracy może dość łatwo „pochłonąć” jeden rdzeń procesora i nie zużywać więcej.

I dalej. Przy ustawieniach domyślnych klient Windows działa najlepiej z serwerem Windows (lub nawet stacją roboczą Windows) i protokołem SMB/CIFS, klient Linux (debian, ubuntu nie oglądał innych) działa lepiej z Linuxem i NFS ( działa również z SMB, ale w NFS papugi są wyższe). To, że podczas kopiowania liniowego serwer Windows Linux do NFS jest szybciej kopiowany do jednego strumienia, o niczym nie świadczy. Strojenie Debiana pod 1C to temat na osobny artykuł, nie jestem jeszcze na to gotowy, chociaż mogę powiedzieć, że w wersji plikowej uzyskałem nawet odrobinę lepszą wydajność niż wersja Win na tym samym sprzęcie, ale z postgresem z ponad 50 użytkowników Nadal mam wszystko bardzo źle.

Najważniejsze , które „spalili” administratorzy wiedzą, ale początkujący nie biorą pod uwagę. Istnieje wiele sposobów ustawienia ścieżki do bazy danych 1c. Możesz zrobić \\server\share, możesz zrobić \\192.168.0.1\share, możesz użyć sieci z: \\192.168.0.1\share (w niektórych przypadkach ta metoda również zadziała, ale nie zawsze), a następnie określ dysk Z. Wygląda na to, że wszystkie te ścieżki prowadzą do tego samego miejsca, ale w przypadku 1C istnieje tylko jeden sposób, który zapewnia normalną wydajność całkiem niezawodnie. Oto, co musisz zrobić poprawnie:

W wierszu poleceń (lub w zasadach, czy gdziekolwiek jest to dla ciebie wygodne) - użyj sieci DriveLetter: \\server\share. Przykład: wykorzystanie netto m: \\server\bases. Szczególnie podkreślam NIE adres IP, a mianowicie Nazwa serwer. Jeśli nazwa serwera nie jest widoczna, dodaj ją do dns na serwerze lub lokalnie do pliku hosts. Ale adres musi być po imieniu. W związku z tym w drodze do bazy danych uzyskaj dostęp do tego dysku (patrz obrazek).

A teraz pokażę liczbami, dlaczego jest to rada. Dane wstępne: karty Intel X520-DA2, Intel 362, Intel 350, Realtek 8169. System operacyjny Win 2008 R2, Win 7, Debian 8. Najnowsze sterowniki, zastosowane aktualizacje. Przed testami upewniłem się, że Iperf daje pełną przepustowość (poza kartami 10 Gbit udało mu się wycisnąć jedynie 7,2 Gbit, zobaczę dlaczego później, serwer testowy nie jest jeszcze poprawnie skonfigurowany). Dyski są różne, ale wszędzie jest dysk SSD (specjalnie włożyłem pojedynczy dysk do testów, nie jest on ładowany niczym innym) lub nalot z dysku SSD. Prędkość 100 Mbit uzyskano ograniczając ustawienia adaptera Intel 362. Nie było różnicy pomiędzy 1 Gbit miedzianym Intel 350 a 1 Gbit optycznym Intel X520-DA2 (uzyskanym poprzez ograniczenie prędkości adaptera). Maksymalna wydajność, turbo boost jest wyłączony (tylko dla porównywalności wyników, turbo boost dla dobrych wyników dodaje nieco mniej niż 10%, dla złych wyników może nie mieć żadnego efektu). Wersje 1C 8.2.19.86, 8.3.6.2076. Nie podaję wszystkich liczb, ale tylko te najciekawsze, żebyście mieli z czym porównać.

Wygraj 2008 - Wygraj 2008

kontakt poprzez adres IP

Wygraj 2008 - Wygraj 2008

Wołanie po imieniu

Wygraj 2008 - Wygraj 2008

Kontakt poprzez adres IP

Wygraj 2008 - Wygraj 2008

Wołanie po imieniu

Wygraj 2008 - Wygraj 7

Wołanie po imieniu

Wygraj 2008 - Debian

Wołanie po imieniu

Wygraj 2008 - Wygraj 2008

Kontakt poprzez adres IP

Wygraj 2008 - Wygraj 2008

Wołanie po imieniu

11,20 26,18 15,20 43,86 40,65 37,04 16,23 44,64
1C 8.2 11,29 26,18 15,29 43,10 40,65 36,76 15,11 44,10
8.2.19.83 12,15 25,77 15,15 43,10 14,97 42,74
6,13 34,25 14,98 43,10 39,37 37,59 15,53 42,74
1C 8.3 6,61 33,33 15,58 43,86 40,00 37,88 16,23 42,74
8.3.6.2076 33,78 15,53 43,48 39,37 37,59 42,74

Wnioski (z tabeli i z własnego doświadczenia. Dotyczy tylko wersji plikowej):

Przez sieć można uzyskać całkiem normalne liczby do pracy, jeśli ta sieć jest poprawnie skonfigurowana, a ścieżka zostanie poprawnie wprowadzona w 1C. Nawet pierwszy Core i3 bez problemu wyprodukuje 40+ papug, co jest całkiem niezłe i nie są to tylko papugi, w prawdziwej pracy różnica też jest zauważalna. Ale! Ograniczeniem przy pracy z kilkoma (więcej niż 10) użytkownikami nie będzie już sieć, tutaj 1 Gbit nadal wystarczy, ale blokowanie podczas pracy wielu użytkowników (Gilev).

Platforma 1C 8.3 jest wielokrotnie bardziej wymagająca pod względem prawidłowej konfiguracji sieci. Podstawowe ustawienia - zobacz Gilev, ale pamiętaj, że na wszystko można mieć wpływ. Zauważyłem przyspieszenie od odinstalowania (a nie tylko wyłączenia) programu antywirusowego, od usunięcia protokołów takich jak FCoE, od zmiany sterowników na starszą, ale certyfikowaną przez Microsoft wersję (szczególnie w przypadku tanich kart, takich jak ASUS i DLC), od usunięcia drugiej karty sieciowej z serwera. Istnieje wiele opcji, skonfiguruj sieć ostrożnie. Może się zdarzyć, że platforma 8.2 da akceptowalne liczby, a 8.3 - dwa lub nawet więcej razy mniej. Spróbuj pobawić się z wersją platformy 8.3, czasami uzyskasz bardzo duży efekt.

Wersja 1C 8.3.6.2076 (może później, nie szukałem jeszcze dokładnej wersji) jest nadal łatwiejsza do skonfigurowania przez sieć niż 8.3.7.2008. Tylko kilka razy udało mi się uzyskać normalną pracę po sieci z dnia 8.3.7.2008 (w porównywalnych papugach), nie udało mi się tego powtórzyć w bardziej ogólnym przypadku. Niewiele zrozumiałem, ale sądząc po okładach z Process Explorera, nagranie tam nie jest tak dobre, jak w 8.3.6.

Pomimo tego, że podczas pracy w sieci 100 Mbit jej harmonogram obciążenia jest niewielki (można powiedzieć, że sieć jest darmowa), prędkość działania jest nadal znacznie mniejsza niż w przypadku 1 Gbit. Powodem jest opóźnienie sieci.

Przy wszystkich innych czynnikach niezmienionych (dobrze działająca sieć) dla 1C 8.2 połączenie Intel-Realtek jest o 10% wolniejsze niż Intel-Intel. Ale Realtek-Realtek ogólnie może spowodować gwałtowne osiadanie niespodziewanie. Dlatego jeśli masz pieniądze, lepiej trzymać wszędzie karty sieciowe Intela, jeśli nie masz pieniędzy, zainstaluj Intela tylko na serwerze (Twój CO). Instrukcji dostrajania kart sieciowych Intel jest znacznie więcej.

Domyślne ustawienia antywirusa (na przykładzie drweb w wersji 10) zajmują około 8-10% papug. Jeśli skonfigurujesz go tak, jak powinien (pozwól procesowi 1cv8 zrobić wszystko, chociaż nie jest to bezpieczne), prędkość będzie taka sama jak bez programu antywirusowego.

NIE czytaj guru Linuksa. Serwer z sambą jest świetny i darmowy, ale jeśli zainstalujesz na serwerze Win XP lub Win7 (lub jeszcze lepiej - system operacyjny serwera), to wersja pliku 1c będzie działać szybciej. Tak, sambę, stos protokołów, ustawienia sieciowe i wiele, wiele więcej można dobrze dostroić w debianie/ubuntu, ale jest to zalecane dla specjalistów. Nie ma sensu instalować Linuksa z ustawieniami domyślnymi, a potem mówić, że jest powolny.

Całkiem dobrym pomysłem jest sprawdzenie działania dysków podłączonych poprzez sieć za pomocą fio . Przynajmniej będzie jasne, czy są to problemy z platformą 1C, czy z siecią/dyskiem.

W przypadku wersji dla jednego użytkownika nie przychodzą mi na myśl testy (ani sytuacja), w których widoczna byłaby różnica między 1 Gbit a 10 Gbit. Jedyne co 10Gbit dla wersji plikowej dało lepsze efekty to podłączenie dysków poprzez iSCSI, ale to temat na osobny artykuł. Mimo to uważam, że do wersji plikowej wystarczą karty 1 Gbit.

Nie rozumiem dlaczego przy sieci 100 Mbit 8.3 działa zauważalnie szybciej niż 8.2, ale to był fakt. Cały inny sprzęt, wszystkie inne ustawienia są absolutnie takie same, po prostu w jednym przypadku testowane jest 8.2, a w drugim - 8.3.

Niedostrojony NFS typu win-win lub win-lin daje 6 papug, nie uwzględniłem ich w tabeli. Po tuningu dostałem 25, ale było niestabilne (różnica w pomiarach była większa niż 2 jednostki). Nie mogę jeszcze podać zaleceń dotyczących korzystania z systemu Windows i protokołu NFS.

Po wszystkich ustawieniach i sprawdzeniu ponownie uruchamiamy test na komputerze klienckim i cieszymy się z lepszego wyniku (jeśli zadziała). Jeśli wynik się poprawił, papug jest więcej niż 30 (a zwłaszcza więcej niż 40), jednocześnie pracuje mniej niż 10 użytkowników, a działająca baza danych nadal działa wolno - prawie na pewno jest to problem z programistą (lub masz osiągnęły już szczytowe możliwości wersji pliku).

Serwer terminali. (baza danych znajduje się na serwerze, klienci łączą się poprzez sieć, protokół RDP). Algorytm krok po kroku:

0. Dodaj testową bazę danych Gilev do serwera w tym samym folderze, co główne bazy danych. Łączymy się z tego samego serwera i uruchamiamy test. Pamiętamy wynik.

1. Analogicznie jak w wersji plikowej ustawiamy pracę. W przypadku serwera terminali główną rolę odgrywa z reguły procesor (zakłada się, że nie ma tu oczywistych słabych punktów, jak brak pamięci czy ogromna ilość niepotrzebnego oprogramowania).

2. Konfiguracja kart sieciowych w przypadku serwera terminali nie ma praktycznie żadnego wpływu na działanie 1c. Aby zapewnić „szczególny” komfort, jeśli Twój serwer produkuje więcej niż 50 papug, możesz pobawić się nowymi wersjami protokołu RDP, właśnie dla wygody użytkowników, szybszej reakcji i przewijania.

3. Jeśli aktywnie pracuje duża liczba użytkowników (a tutaj możesz już spróbować podłączyć 30 osób do jednej bazy danych, jeśli spróbujesz), bardzo wskazane jest zainstalowanie dysku SSD. Z jakiegoś powodu uważa się, że dysk nie wpływa szczególnie na działanie 1C, ale wszystkie testy są przeprowadzane przy włączonej pamięci podręcznej kontrolera do zapisu, co jest nieprawidłowe. Baza testowa jest niewielka, dość dobrze mieści się w pamięci podręcznej, stąd duże liczby. Na prawdziwych (dużych) bazach danych wszystko będzie zupełnie inne, więc pamięć podręczna jest wyłączona na potrzeby testów.

Na przykład sprawdziłem działanie testu Gilev przy różnych opcjach dysku. Założyłem dyski z tego co było pod ręką, żeby pokazać tendencję. Różnica pomiędzy 8.3.6.2076 a 8.3.7.2008 jest niewielka (w wersji Ramdisk Turbo boost 8.3.6 daje 56,18, a 8.3.7.2008 daje 55,56, w innych testach różnica jest jeszcze mniejsza). Pobór mocy – maksymalna wydajność, turbodoładowanie wyłączone (o ile nie zaznaczono inaczej).

Raid 10 4x SATA 7200

ATA ST31500341AS

Raid 10 4x SAS 10 tys

Raid 10 4x SAS 15 tys

Pojedynczy dysk SSD

Ramdysk

Pamięć podręczna włączona

Kontroler RAID

21,74 28,09 32,47 49,02 50,51 53,76 49,02
1C 8.2 21,65 28,57 32,05 48,54 49,02 53,19
8.2.19.83 21,65 28,41 31,45 48,54 49,50 53,19
33,33 42,74 45,05 51,55 52,08 55,56 51,55
1C 8.3 33,46 42,02 45,05 51,02 52,08 54,95
8.3.7.2008 35,46 43,01 44,64 51,55 52,08 56,18

Włączona pamięć podręczna kontrolera RAID eliminuje wszystkie różnice między dyskami; liczby są takie same dla obu dysków sat i ca. Testowanie z nim na małej ilości danych jest bezużyteczne i nie ma żadnego charakteru wskazującego.

W przypadku platformy 8.2 różnica w wydajności pomiędzy opcjami SATA i SSD jest ponad dwukrotnie. To nie jest literówka. Jeśli spojrzysz na monitor wydajności podczas testu na dyskach SATA. wtedy wyraźnie widać „Czas działania aktywnego dysku (w%)” 80-95. Tak, jeśli włączysz pamięć podręczną samych dysków do nagrywania, prędkość wzrośnie do 35, jeśli włączysz pamięć podręczną kontrolera RAID - do 49 (niezależnie od tego, które dyski są obecnie testowane). Ale to są syntetyczne papugi pamięci podręcznej; w prawdziwej pracy, z dużymi bazami danych, nigdy nie będzie 100% współczynnika trafień w pamięci podręcznej zapisu.

Szybkość nawet tanich dysków SSD (testowałem na Agility 3) jest wystarczająca, aby uruchomić wersję plikową. Zasób nagrywania to inna sprawa, trzeba na to spojrzeć w każdym konkretnym przypadku, jasne jest, że Intel 3700 będzie miał go o rząd wielkości wyższy, ale cena jest odpowiednia. I tak, rozumiem, że testując dysk SSD, w większym stopniu testuję także pamięć podręczną tego dysku, realne wyniki będą mniejsze.

Najbardziej poprawnym (z mojego punktu widzenia) rozwiązaniem byłoby przydzielenie 2 dysków SSD w lustrzanym nalocie dla bazy danych plików (lub kilku baz danych plików) i nie umieszczanie tam niczego innego. Tak, z lustrem, dyski SSD zużywają się równomiernie, a to jest minus, ale przynajmniej elektronika kontrolera jest w jakiś sposób chroniona przed błędami.

Główne zalety dysków SSD w wersji plikowej pojawią się w przypadku dużej liczby baz danych, każda z kilkoma użytkownikami. Jeśli są 1-2 bazy danych i jest około 10 użytkowników, to wystarczą dyski SAS. (ale w każdym razie spójrz na ładowanie tych dysków, przynajmniej przez perfmon).

Główną zaletą serwera terminali jest to, że może mieć bardzo słabych klientów, a ustawienia sieciowe wpływają na serwer terminali w znacznie mniejszym stopniu (znowu Twoje K.O.).

Wnioski: jeśli uruchomisz test Gilev na serwerze terminalowym (z tego samego dysku, na którym znajdują się działające bazy danych) i w momentach, gdy działająca baza danych zwalnia, a test Gilev wykaże dobry wynik (powyżej 30), to powolne działanie głównej działającej bazy danych jest najprawdopodobniej winą programisty.

Jeśli test Gilewa pokazuje małe liczby, a masz procesor o wysokiej częstotliwości i szybkie dyski, administrator musi wziąć przynajmniej perfmon, gdzieś zapisać wszystkie wyniki i obserwować, obserwować i wyciągać wnioski. Nie będzie żadnej ostatecznej porady.

Opcja klient-serwer.

Testy przeprowadzono tylko na wersji 8.2, ponieważ w wersji 8.3 wszystko zależy dość poważnie od wersji.

Do testów wybrałem różne opcje serwerów i sieci między nimi, aby pokazać główne trendy.

SQL: Xeon E5-2630

SQL: Xeon E5-2630

Kanał światłowodowy - dysk SSD

SQL: Xeon E5-2630

Kanał światłowodowy - SAS

SQL: Xeon E5-2630

Lokalny dysk SSD

SQL: Xeon E5-2630

Kanał światłowodowy - dysk SSD

SQL: Xeon E5-2630

Lokalny dysk SSD

1C: Xeon 5650 =

1C: Xeon 5650 =

Wspólna pamięć

1C: Xeon 5650 =

1C: Xeon 5650 =

1C: Xeon 5650 =

16,78 18,23 16,84 28,57 27,78 32,05 34,72 36,50 23,26 40,65 39.37
1C 8.2 17,12 17,06 14,53 29,41 28,41 31,45 34,97 36,23 23,81 40,32 39.06
16,72 16,89 13,44 29,76 28,57 32,05 34,97 36,23 23,26 40,32 39.06

Wygląda na to, że rozważyłem wszystkie ciekawe opcje, jeśli jest coś jeszcze, co Cię interesuje, napisz w komentarzach, postaram się to zrobić.

SAS w systemach pamięci masowej jest wolniejszy niż lokalne dyski SSD, mimo że systemy pamięci masowej mają większe rozmiary pamięci podręcznej. W teście Gilewa dyski SSD, zarówno lokalne, jak i w systemach pamięci masowej, pracują z porównywalnymi prędkościami. Nie znam żadnego standardowego testu wielowątkowego (nie tylko nagrywania, ale całego sprzętu) z wyjątkiem testu obciążenia 1C z MCC.

Zmiana serwera 1C z 5520 na 5650 prawie podwoiła wydajność. Tak, konfiguracje serwerów nie do końca się zgadzają, ale widać tendencję (nic dziwnego).

Zwiększenie częstotliwości na serwerze SQL z pewnością daje efekt, ale nie taki sam jak na serwerze 1C; Serwer MS SQL jest doskonały (jeśli o to poprosisz) do korzystania z wielu rdzeni i wolnej pamięci.

Zmiana sieci między 1C i SQL z 1 Gbit na 10 Gbit daje około 10% papug. Spodziewałem się więcej.

Włączenie pamięci współdzielonej nadal daje efekt, chociaż nie 15%, jak opisano. Koniecznie to zrób, na szczęście jest to szybkie i łatwe. Jeśli podczas instalacji ktoś nadał serwerowi SQL nazwaną instancję, to aby 1C zadziałało, nazwa serwera musi zostać podana nie przez FQDN (tcp/ip będzie działać), nie przez localhost lub po prostu ServerName, ale na przykład przez ServerName\InstanceName zz-test\zztest. (W przeciwnym razie wystąpi błąd DBMS: Microsoft SQL Server Native Client 10.0: Dostawca pamięci współdzielonej: Nie odnaleziono biblioteki pamięci współdzielonej używanej do nawiązania połączenia z SQL Server 2000. HRESULT=80004005, HRESULT=80004005, HRESULT=80004005, SQLSrvr : SQLSTATE=08001, stan=1, ważność=10, natywny=126, linia=0).

W przypadku mniej niż 100 użytkowników jedynym sensem podziału na dwa oddzielne serwery jest licencja Win 2008 Std (i starsza), która obsługuje tylko 32 GB pamięci RAM. We wszystkich innych przypadkach 1C i SQL zdecydowanie muszą być zainstalowane na jednym serwerze i mieć więcej (co najmniej 64 GB) pamięci. Dawanie MS SQL mniej niż 24-28 GB RAM-u to nieuzasadniona chciwość (jeśli uważasz, że masz na to wystarczająco dużo pamięci i wszystko działa dobrze, to może wersja plikowa 1C by Ci wystarczyła?)

To, jak gorzej działa kombinacja 1C i SQL na maszynie wirtualnej, jest tematem osobnego artykułu (wskazówka - zauważalnie gorzej). Nawet w Hyper-V wszystko nie jest takie jasne...

Zrównoważony tryb wydajności jest zły. Wyniki są w miarę zgodne z wersją pliku.

Wiele źródeł podaje, że tryb debugowania (ragent.exe -debug) powoduje znaczny spadek wydajności. Cóż, zmniejsza, tak, ale nie nazwałbym 2-3% znaczącym efektem.