Skip to Content

Odoo działa wolno? Sprawdź, gdzie naprawdę jest problem

„Odoo dziś strasznie muli.” To jedno ze zgłoszeń, jakie dostajemy, i jedno z najtrudniejszych. Wolny system to objaw, nie przyczyna. Między kliknięciem użytkownika a odpowiedzią serwera stoi kilka ogniw: sieć, serwer, baza danych, konfiguracja, komputer i przeglądarka. Każde z nich potrafi spowolnić całość.

Ten artykuł nie jest instrukcją naprawy. To mapa miejsc, w których warto szukać, zanim padnie decyzja „kupmy większy serwer”.

Najpierw trzy pytania ???

Zanim zaczniesz szukać przyczyny, ustal zakres problemu:

  • Kogo dotyczy? Jednej osoby, jednego biura czy wszystkich?
  • Czego dotyczy? Całego systemu, jednej aplikacji czy jednej operacji, np. konkretnego raportu?
  • Kiedy? Zawsze, o stałych porach czy po konkretnym zdarzeniu, np. aktualizacji albo imporcie?

Wolno u jednej osoby to zwykle komputer albo przeglądarka. Wolno u wszystkich o tej samej porze to zwykle serwer albo zadania w tle. Wolno w jednym miejscu to zwykle konfiguracja albo dane.

Sieć

Odoo działa w przeglądarce i przy każdej akcji rozmawia z serwerem. Liczy się nie tylko przepustowość łącza, ale też opóźnienie.

  • Opóźnienie ważniejsze niż prędkość. Szybkie łącze z dużym opóźnieniem działa gorzej niż wolniejsze, ale stabilne.
  • Wi-Fi kontra kabel. Słaby zasięg w hali, magazynie czy na końcu biura to częsty winowajca.
  • VPN, proxy, firewall. Ruch przez VPN firmowy albo filtr treści dokłada czas. Niektóre zapory blokują stałe połączenie (websocket), przez które Odoo odświeża powiadomienia i czat.
  • Region serwera. Odległość od centrum danych ma znaczenie. Region wybiera się przy zakładaniu projektu.
  • Internet mobilny w terenie. Handlowiec albo serwisant na zasięgu LTE ma inne doświadczenie niż biuro.

Serwer odoo.sh i workery

Worker to proces, który obsługuje żądania użytkowników. Na odoo.sh liczbę workerów wybiera się w planie, a na hostingu współdzielonym jest ich od 1 do 16.

  • Worker to równoległość, nie szybkość. Więcej workerów pozwala obsłużyć więcej osób naraz. Pojedynczy wolny raport nie przyspieszy po dokupieniu workera.
  • Jeden worker to inny tryb pracy. Na najmniejszych planach Odoo działa jako jeden proces z wątkami i wspólną pulą połączeń do bazy. Jedna długa operacja potrafi wtedy trzymać połączenie, a reszta użytkowników czeka.
  • Więcej niż jeden worker. Odoo działa wtedy jako pula procesów z limitami czasu i pamięci. Zawieszone żądanie zostaje przerwane, zamiast blokować innych. To często większa zmiana niż sama liczba workerów.
  • Liczy się równoczesność, a nie liczba kont. Pięćdziesiąt kont, z których jednocześnie pracuje dziesięć osób, to inne obciążenie niż dziesięć kont, z których wszyscy w tej samej minucie generują raporty.
  • Zadania w tle. Synchronizacje, KSeF, wysyłka e-maili, integracje z bankiem i sklepem korzystają z tego samego serwera i tej samej bazy. Skoki czasu odpowiedzi o stałych porach często mają tu źródło.
  • Monitoring. Panel odoo.sh pokazuje najwolniejsze żądania. Gdy statyczny plik (np. ikona) ładuje się kilka sekund, to zwykle czas oczekiwania w kolejce, a nie praca serwera.
  • Rozmiar bazy i plików. Lata załączników, logów i wiadomości zwiększają bazę i czas kopii zapasowych.

Konfiguracja i dane

Najczęściej wydajność ucieka nie na serwerze, tylko w tym, co na nim działa.

  • Listy z wieloma kolumnami. Każda kolumna liczona w locie to dodatkowe zapytania przy każdym odświeżeniu.
  • Grupowanie i filtry na dużych zbiorach. Domyślny widok „wszystkie dokumenty od początku” na liście faktur po trzech latach pracy.
  • Reguły automatyzacji przy zapisie. Każde zapisanie rekordu może uruchamiać kilka reguł, a każda z nich kolejne.
  • Moduły zewnętrzne i dodatki. Każdy dodaje pola, widoki i logikę. Nie każdy jest pisany z myślą o dużych bazach.
  • Wydruki i raporty PDF. Generowanie dużych dokumentów obciąża serwer bardziej niż zwykła praca.
  • Importy i operacje masowe. Import kilku tysięcy pozycji w godzinach szczytu zabiera zasoby wszystkim.

Komputer użytkownika

Odoo to rozbudowana aplikacja uruchamiana w przeglądarce. Część pracy wykonuje komputer użytkownika.

  • Pamięć RAM. Kilkadziesiąt otwartych kart, poczta, komunikator i Odoo na laptopie z małą ilością pamięci to przepis na spowolnienia.
  • Starszy sprzęt. Na starszych komputerach widać różnicę przy dużych listach, kanbanie i raportach z wykresami.
  • Tryb oszczędzania energii. Laptop na baterii potrafi świadomie zwalniać procesor.
  • Rozszerzenia przeglądarki. Blokery reklam, tłumacze, korektory pisowni i menedżery haseł potrafią spowalniać stronę lub psuć jej działanie.
  • Urządzenia magazynowe i tablety. Terminale ze skanerem mają własne ograniczenia i własne ustawienia.

Przeglądarka

Odoo oficjalnie wspiera najnowsze wersje czterech przeglądarek:

  • Google Chrome,
  • Mozilla Firefox,
  • Microsoft Edge,
  • Apple Safari.

Co z tego wynika w praktyce:

  • Aktualna wersja ma znaczenie. Odoo wspiera bieżące wydanie przeglądarki, nie wersję sprzed roku.
  • Mniej popularne przeglądarki i ich odmiany mogą działać, ale nie są testowane.
  • Okno prywatne jako szybki test. Jeśli w nim Odoo działa szybciej, winne są zwykle rozszerzenia albo pamięć podręczna.
  • Pamięć podręczna po aktualizacji. Po wdrożeniu nowej wersji modułu przeglądarka może trzymać stare pliki.

Nawyki zespołu

  • Raport roczny w środku dnia. Ciężkie operacje lepiej planować poza godzinami szczytu.
  • Zapisane filtry zamiast przewijania. Lista ograniczona do bieżącego miesiąca ładuje się szybciej niż lista wszystkiego.
  • Liczba rekordów na stronie. Zmiana z domyślnych kilkudziesięciu na kilka tysięcy odczuwalnie spowalnia widok.
  • Wiele kart z Odoo. Każda karta to osobna aplikacja w pamięci komputera.

Co przygotować, zanim zgłosisz problem

Dobre zgłoszenie skraca diagnozę o dni. Podaj:

  1. Która operacja jest wolna, i ile sekund trwa.
  2. Kogo to dotyczy: jednej osoby, kilku czy wszystkich.
  3. Od kiedy, o jakich porach, po jakim zdarzeniu.
  4. Jakiej przeglądarki i jakiego komputera używasz.
  5. Czy w oknie prywatnym jest tak samo.
  6. Czy problem występuje w biurze, w domu i na telefonie.

Podsumowanie

Wydajność Odoo to łańcuch, w którym decyduje najsłabsze ogniwo. Większy serwer pomaga tylko wtedy, gdy to serwer jest wąskim gardłem. Częściej problem leży w konfiguracji, danych, zadaniach w tle albo po stronie użytkownika. Dlatego diagnozę zaczynamy od pytań, a nie od zakupu workerów.

Flota w Odoo — jak działa? Kiedy to za mało?