Za mało pamięci na serwerze 1C - rozwiązania

Po osiągnięciu maksymalnej wartości przepływów pracy na serwerze wystąpią błędy 1C. Przyjrzymy się jednemu z nich poświęconym tematowi "Za mało wolnej pamięci na serwerze 1C: Enterprise".

Metody rozwiązywania błędu "Za mało wolnej pamięci na serwerze 1C: Enterprise".

Treść

  • 1 Powody wypełnienia pamięci
    • 1.1 Niewystarczająca moc żelaza
    • 1.2 Brak pamięci dla dodatkowych informacji
    • 1.3 Błędy kodowania
    • 1.4 Błędy programu
  • 2 Więc co zrobić z serwerem 1C
    • 2.1 Zrestartuj usługę serwera
    • 2.2 Automatyczne ponowne uruchamianie i ustawienia klastra
    • 2.3 Liczba przepływów pracy
    • 2.4 Narzędzie do pracy z bazą
    • 2.5 Sprawdzanie konfiguracji

Powody wypełnienia pamięci

Ilość przepływów pracy pamięci podczas pracy na serwerze agenta 1C nie jest nieskończona. Przy maksymalnym obciążeniu użytkownik widzi przed sobą przyjemną nową wiadomość - "Za mało wolnej pamięci na serwerze 1C: Enterprise".


Po pierwsze, przyczyny pojawiania się takich wiadomości - dlaczego pamięć nie jest wystarczająca. Może być kilka:

Niewystarczająca moc żelaza

Jeśli system zatrudnia do pięciu osób, wystarczy jeden komputer o pojemności ośmiu gigabajtów i dwie śruby (na jednym - SERWERU,na drugim - SQL) i dodatkowo zainstalowane żetony. Ale kolejna rzecz to około trzydziestu użytkowników, tysiące podstawowych dokumentów. Tutaj i SQL muszą być wyjęte na oddzielnym serwerze, a jeden serwer terminali nie może już sobie poradzić.

Brak pamięci dla dodatkowych informacji

Typowe konfiguracje próbują opisać dosłownie wszystkie procesy, które programista może sobie wyobrazić, próbując utworzyć uniwersalne narzędzie księgowe o nazwie 1C: Enterprise. Dlatego określony użytkownik otrzymuje dodatkowy bagaż w postaci przepaści obiektów metadanych, dodatkowych tabel SQL i nieużywanych szczegółów. Stała rejestracja i ponowne indeksowanie tego wszystkiego, co jest niepotrzebne w rejestrach programu, zabiera dużo czasu i dużo miejsca.

Błędy kodowania

Przeciążenie serwera powstaje również wtedy, gdy niektórzy programiści błędnie rozumieją (czasami) niektóre procesy i wprowadzają swoje "kule", co zwiększa czas trwania zadań (oraz liczbę działających procesów).

Błędy programu

Między innymi, a to często prawie główny powód - program 1C ma niesamowitą ilość błędów wewnętrznych. Niektóre z nich są poprawiane w kolejnych wydaniach.Wiele forów poświęcono tym błędom, w których administratorzy, omawiając regularne sztuczki, żartobliwie twierdzą, że prawdopodobnie tylko Tadżykowie pracują w jednym miejscu (Dżhamszut i Ravshan).

Więc co zrobić z serwerem 1C

Ponieważ przyczyny problemu mogą być różne, różne są również wyjścia z sytuacji:

Zrestartuj usługę serwera

Najszybszym i najprostszym rozwiązaniem jest ponowne uruchomienie usługi serwera. Z wiersza poleceń systemu Microsoft Windows (cmd): polecenie ma zatrzymać - net stop "1C: Enterprise 8.3 (lub wersja) Agent serwera", a na początek - net start "1C: Enterprise 8.3 (zgodnie z wersją) Agent serwera". Taka decyzja nie usuwa całkowicie problemu - najczęściej błąd powtarza się. Częstotliwość powtórzeń zależy od liczby klientów i liczby działających procesów.

WAŻNE. Aby móc ponownie uruchomić, musisz mieć odpowiednie uprawnienia.

Automatyczne ponowne uruchamianie i ustawienia klastra

Czasami nawet jeden wykonywany przepływ pracy może zajmować prawie całą pamięć RAM. To zadanie jest rozwiązywane przez zwiększenie ich liczby w ustawieniach klastra. Dodaj około jednego procesu na każde piętnaście do trzydziestu użytkowników.

Interwał restartu. Krótko przed zakończeniem poprzedniego procesu rozpoczyna się nowy proces rphost.exe.- Połączenia ze starego są przenoszone do niego. Dopuszczalna ilość pamięci - jeśli ta wartość zostanie przekroczona, zostanie uruchomiony drugi odliczający czas.

Przedział przekroczenia maksymalnej objętości - gdy licznik przekroczy tę wartość, zostanie uruchomiony nowy proces. I połączenia ze starym zostaną z nim powiązane. A stary z kolei jest oznaczony jako nieaktywny. Off procesy zatrzymują się - po przekroczeniu wartości tego parametru po tym, jak przepływ pracy został oznaczony jako nieaktywny, zostanie zakończony przez system operacyjny. Jeśli ten parametr jest ustawiony na "0" - wtedy wszystkie nieaktywne procesy nie zostaną automatycznie zakończone.

WAŻNE. To ustawienie jest charakterystyczne, ponieważ odłącza się od bazy danych tylko od klientów, którzy wywołali nieprawidłowy raport. Reszta - zostanie płynnie przeniesiona do nowych połączeń (bez przerwy z bazy).

Liczba przepływów pracy

Podczas przeciążania rphost.exe z zadaniami tła i braku tworzenia nowych procesów, należy sprawdzić ustawienia:

Max Pojemność pamięci przepływów pracy to całkowita pojemność pamięci dla wszystkich procesów łącznie. Mierzone w bajtach. Jeśli ustawisz złą wartość (nieadekwatną do normalnej pracy), wszyscy otrzymają komunikat "Za mało wolnej pamięci na serwerze 1c".

Bezpieczne zużycie pamięci na 1 połączenie - steruje zużyciem pamięci, gdy serwer wywołuje (w bajtach). W przypadku użycia przez połączenie o większej liczbie niż podana, zostanie zakończona w klastrze. Nie zostanie ponownie uruchomiony. Utrata sesji nie wpłynie na innych klientów.

Ilość pamięci dla procesów, której wartość jest uważana za system produktywny - po osiągnięciu tej wartości serwer klastra przestaje akceptować połączenia. Liczba baz informacyjnych na temat procesu - izoluje IB według procesów. Po izolacji baz danych informacji (z wprowadzeniem wartości - "1"), problemy są zazwyczaj rozwiązywane.

Liczba połączeń na proces - domyślna wartość to "128". Jeśli obecna baza różni się bardzo mocno od zadań wykonywanych w tle, liczba ta może zostać zmniejszona, na przykład do "25". Przy takich ustawieniach ustawienie klastra zmieni się nieco:

Poziom tolerancji błędu - pokazuje liczbę serwerów, które nie zawieszają klientów, jeśli ulegną awarii. W tym samym czasie usługi kopii zapasowych zostaną uruchomione automatycznie pod wymaganym numerem.

Tryb dzielenia obciążenia - ma dwie możliwe opcje. Jeśli ustawisz "Priorytet na wydajność" - wtedy pamięć serwera wyda więcej na zwiększenie wydajności. Jeśli wybierzesz "Priorytet w pamięci" - zostanie zapisana grupa 1C pamięci.

Narzędzie do pracy z bazą

Do obsługi bazy danych niezbędne jest korzystanie z narzędzi MSMS DBMS.

Sprawdzanie konfiguracji

Być może przyczyną błędu są nieprawidłowe informacje zawarte w Konfiguracji. Aby go przetestować, musisz uruchomić polecenie "Weryfikacja konfiguracji". (Nie mylić z testowaniem!). Przed wykonaniem należy sprawdzić instalację pola wyboru (pole wyboru) - "integralność logiczna". Jeśli zostanie wykryta nieprawidłowość, zostanie to odzwierciedlone w wiadomości. Błędy zostaną usunięte.

Rozważaliśmy przyczyny braku wolnej pamięci na serwerze 1C i możliwe sposoby wyeliminowania tego. Jeden sposób z pewnością rozwiąże problem.

Skomentuj swoje wrażenia w tej sprawie - podziel się wiadomościami w tej sprawie.