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.