Skocz do zawartości

Synchronizacja produktow Sello->Subiekt po pewnym czasie siada

Polecane posty

Mam problem z Sello od wersji 1.12.1. Otoz po pewnym czasie dzialania sello w tle (mamy tzw. serwer, na ktorym sello dziala i sciaga transakcje co 5 minut i rezerwuje stany magazynowe w Subiekt) nagle przestaje pobierac aukcje i w raportach mam informacje:

 

Nie udało się utworzyć obiektu do obsługi konta <nazwa konta allegro> z Allegro.pl (Polska).

 

W szczegółach operacji mam:

InsERT_Driver: Łączenie z system sprzedaży:

Nieudane łączenie:

Połączenie z zewnętrznym systemem niedostępne:

Brak połączenia z systemem SubiektGT (0x80004003)

 

W tym czasie baza Sello jest już martwa tj. nie pobierają się już automatycznie żadne aukcje ani wiadomości.

 

Gdy chcę zamknąć sello przez Menedżer zadań Windows, mam odpalone kilkadziesiąt procesów Subiekt.exe i zapchaną pamięć fizyczną do 93%. (łącznie nasz serwer ma 4GB ram)

 

Odinstalowałem sello, instalowałem ponownie, pomaga tu jedynie zamknięcie Sello i uruchomienie na nowo. Jest to o tyle problem, że mamy działające 2 sklepy internetowe z którymi serwer synchronizuje stany magazynowe. W przypadku sprzedaży na allegro, po wysypaniu się Sello mamy w ofercie produkty, które powinny być już zarezerwowane do czasu restartu sello, a dzieje się to często w nocy.

 

Sprawdzałem bazę przez zapytanie SQL

SELECT ss_ProgId FROM sl_ServiceProvider

 

Dostaję taki wynik:

Sello.AllegroConnector

Sello.EbayConnector

Sello.EbayConnector

Sello.AllegroConnector

 

W czym tkwi problem? W poprzednich wersjach baza normalnie synchronizowala sie ze sklepem i sello wiec nie wiem czy mala ilosc RAM moze miec faktycznie na to wplyw.

Link to postu

Ram raczej nie, bo o ile nie macie wykupionego serwera to serwer pod baze zabiera 1 albo 2 gb nie pamietam dokladnie, ale takie jest ograniczenie.

 

Ja bym tu raczej widział problem z połączeniem między sello a subiektem, na poziomie użytkownika - przerwane połączenie ? coś takiego, masz utworzonego użytkownika specjalnie dla sello czy korzystasz ze swojego ?

Link to postu

Serwerowe sello dziala na koncie uzytkownika "przeznaczonym do automatycznej synchronizacji".

Jesli to tez cos moze pomoc, to jest na nim ustawione:

Odbieranie serwisow aukcyjnych co 5 minut (transakcje i klienci na podstawie zmian historii i od ustawionego przez nas dnia i dane z formularzy pozakupowych na podstawie dziennika zdarzen).

Odbieranie maili co 5 minut

Synchronziacja z Subiekt (wysyłanie i odbieranie) co 10 minut.

Link to postu

Może być to problem z pamięcią. Sello próbuje stworzyć komponent obsługujący pobieranie danych i gdy dostanie z systemu błąd (np brak pamięci) to wyświetla ten właśnie błąd z pierwszego posta.

 

Ile pamięci w tym momencie zajmuje Sello? W wersji 1.13 BETA1 jest poprawka związana z wyciekami pamięci przy pobieraniu aukcji - które pojawiły się w tamtym tygodniu zapewne na skutek jakiejś poprawki w systemie Windows. Wersja RTM powinna być za kilka dni - można by sprawdzić wtedy czy to pomogło.

 

Natomiast podejrzana jest też ta liczba Subiektów odpalonych w tle. Sello po skończonej synchronizacji powinno zamykać Subiekta, proszę sprawdzić czy tak się dzieje.

Link to postu

Może być to problem z pamięcią. Sello próbuje stworzyć komponent obsługujący pobieranie danych i gdy dostanie z systemu błąd (np brak pamięci) to wyświetla ten właśnie błąd z pierwszego posta.

 

Ile pamięci w tym momencie zajmuje Sello? W wersji 1.13 BETA1 jest poprawka związana z wyciekami pamięci przy pobieraniu aukcji - które pojawiły się w tamtym tygodniu zapewne na skutek jakiejś poprawki w systemie Windows. Wersja RTM powinna być za kilka dni - można by sprawdzić wtedy czy to pomogło.

 

Natomiast podejrzana jest też ta liczba Subiektów odpalonych w tle. Sello po skończonej synchronizacji powinno zamykać Subiekta, proszę sprawdzić czy tak się dzieje.

Zainstalowalem 1.13 BETA od dnia premiery i problem jest dalej ten sam.

Obecnie Sello zjada 542 000 K, natomiast sqlserv.exe juz 1 337 208 K. A tak to wygladalo jak padlo pobieranie aukcji: https://www.dropbox.com/s/lvpqr0p9ex7z5ba/Zdj%C4%99cie%2004.07.2013%2C%2007%2018%2034.png

Przez problem z pamiecia ram mam rozumiec niedostatek?

 

Jesli chodzi o poprzednie pytania, serwerowy uzytkownik jest wlasnie uzytkownikiem "szef" ze wszystkimi uprawnieniami.

Link to postu

Wycieki pamięci pojawiły się od wersji 1.12, u mnie np. pobieranie transakcji (bez dziennika zdarzeń) z pełnymi informacjami o aukcjach z opcją - tylko dla niekompletnych aukcji.

Czasami kończy się błędem:

 

Za mało pamięci.; W magazynie brak miejsca dla wykonania tej operacji.; -2147024882

 

Powyższy błąd dot. wersji Sello 1.12.1

Link to postu
Obecnie Sello zjada 542 000 K

A zjada tyle w trakcie synchronizacji czy gdy nic nie robi?

 

Przez problem z pamiecia ram mam rozumiec niedostatek?

Niekoniecznie. Domyślnie procesy 32 bitowe (czyli np Sello) mogą obsłużyć 2GB pamięci. Jeśli aplikacja będzie chciała więcej to może pojawić się błąd, o którym pisze powyżej Alwin. Algorytm pobierania danych w Sello w tej chwili jest nastawiony na zmniejszenie liczby wywołań do webAPI kosztem zużycia dużej ilości pamięci - to przy dużej ilości danych stwarza problem. Będziemy pracować nad optymalizacją zużycia ramu.

 

Nie jest to wyciek pamięci - określenie to dotyczy sytuacji gdy aplikacja zajmuje pamięć na potrzeby wykonania jakiegoś zadania, po czym gubi do niej referencję (przestaje nią zarządzać). Sytuację taką można zaobserwować jeśli np pobierane są dane, Sello zajmuje pamięć, po zakończeniu powinna użyta pamięć wrócić do systemu. Jeśli tak się nie dzieje to jest to wyciek pamięci. Niektóre wycieki można znaleźć szybko (kiedyś dawniej ze zmianą rozmiaru zdjęć przy wysyłaniu aukcji). Znalezienie przyczyny ostatniego wycieku jaki naprawialiśmy w becie zajął nam 3 dni - i występował w bibliotece systemowej. Niestety brak jakichkolwiek informacji na ten temat zmusiła nas do przepisania tego trochę inaczej.

Link to postu

Obecnie Sello zjada 542 000 K

A zjada tyle w trakcie synchronizacji czy gdy nic nie robi?

 

Przez problem z pamiecia ram mam rozumiec niedostatek?

Niekoniecznie. Domyślnie procesy 32 bitowe (czyli np Sello) mogą obsłużyć 2GB pamięci. Jeśli aplikacja będzie chciała więcej to może pojawić się błąd, o którym pisze powyżej Alwin. Algorytm pobierania danych w Sello w tej chwili jest nastawiony na zmniejszenie liczby wywołań do webAPI kosztem zużycia dużej ilości pamięci - to przy dużej ilości danych stwarza problem. Będziemy pracować nad optymalizacją zużycia ramu.

 

Nie jest to wyciek pamięci - określenie to dotyczy sytuacji gdy aplikacja zajmuje pamięć na potrzeby wykonania jakiegoś zadania, po czym gubi do niej referencję (przestaje nią zarządzać). Sytuację taką można zaobserwować jeśli np pobierane są dane, Sello zajmuje pamięć, po zakończeniu powinna użyta pamięć wrócić do systemu. Jeśli tak się nie dzieje to jest to wyciek pamięci. Niektóre wycieki można znaleźć szybko (kiedyś dawniej ze zmianą rozmiaru zdjęć przy wysyłaniu aukcji). Znalezienie przyczyny ostatniego wycieku jaki naprawialiśmy w becie zajął nam 3 dni - i występował w bibliotece systemowej. Niestety brak jakichkolwiek informacji na ten temat zmusiła nas do przepisania tego trochę inaczej.

Zjada tyle gdy nic nie robi ani zaden komputer z baza sello sie nie laczy. Przy restarcie sello zabiera kolo 70 000K, ale jak sie juz rozkreci to idzie w gore.

Link to postu

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.
Uwaga: Twój wpis zanim będzie widoczny, będzie wymagał zatwierdzenia moderatora.

Użytkownik forum
Odpowiedz...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

×
×
  • Dodaj nową pozycję...