Przewodnik po wydajności

Z Planfix

Przewodnik po wydajności opisuje najlepsze praktyki konfigurowania reguł wyboru w systemie.

W dużych kontach szybkość pobierania danych zależy bezpośrednio od tego, jak efektywnie skonfigurujesz warunki filtrowania. Poniżej znajdują się kluczowe zasady i zalecenia dotyczące tworzenia szybkich reguł wyboru dla Planera, filtrów, raportów i Znaczników danych.

Priorytet pól systemowych

Pola systemowe "Szablon", "Projekt" i "Obiekt" (i tylko one) są przetwarzane szybciej, ponieważ system jest specjalnie dla nich zoptymalizowany.

  • Zawęż wybór. Zawsze dodawaj do filtru pole systemowe, które znacząco zmniejsza liczbę elementów do sprawdzenia. Na przykład, jeśli wyszukujesz Zadania po konfigurowalnym polu "X", które występuje tylko w Szablonie "Z", dołącz warunek dla Szablonu "Z" — to znacznie przyspieszy zapytanie.
  • Unikaj redundancji. Jeśli już określiłeś warunek dla Szablonu, dodawanie warunku dla procesu (w którym działa ten szablon) jest bezsensowne — nie poprawi to szybkości.

Operatory logiczne: AND vs OR

Logika warunków jest jednym z najważniejszych czynników wpływających na wydajność.

  • Używaj "AND". Warunki połączone operatorem "AND" działają szybko, szczególnie jeśli łańcuch zawiera filtry na polach systemowych.
  • Minimalizuj "OR". Używanie "OR" (zwłaszcza na najwyższym poziomie filtra, bez wspólnych warunków zawężających) może spowolnić pobieranie dziesiątki lub setki razy. Projektuj logikę tak, aby unikać warunków "OR" na dużych zbiorach danych, kiedy to możliwe.

Uwagi dotyczące pól

Nie wszystkie sprawdzenia są równie "lekkie" dla bazy danych.

  • Konretne wartości vs "zawiera dane". Sprawdzanie konkretnej wartości (np. "Pole X = Cassiopeia") jest szybsze niż sprawdzanie obecności wartości ("Pole X: zawiera dane").
  • Typy pól. Pola wielowartościowe (listy wielokrotnego wyboru) zajmują więcej czasu niż proste pola przechowujące pojedynczą wartość.
  • "Rozgrzewanie" nowych pól. W dużych kontach zapytania używające nowego konfigurowalnego pola zawsze będą powolne przy pierwszym uruchomieniu. System potrzebuje czasu, aby zoptymalizować warunki, które zaczynają być używane regularnie, więc zapytania na takich polach zazwyczaj przyspieszają po pewnym czasie.

Uprawnienia

Złożone, wykonywane w locie kontrole dostępu są jednymi z najbardziej zasobożernych operacji. Dlatego zapytania działają szybciej dla administratorów systemu niż dla zwykłych użytkowników: administratorom nie sprawdza się uprawnień przy każdym zapytaniu.

Pod pojęciem "zapytanie" rozumiemy tutaj każdą akcję — od otwarcia filtru z Zadaniami po uruchomienie raportu, renderowanie Planera itp.

Sortowanie i grupowanie przy dużej liczbie wyników

Sortowanie i grupowanie dokładają dodatkowe obciążenie do już wykonanego pobierania.

  • Unikaj ciężkich sortowań. Sortowanie po konfigurowalnych polach i datach na zestawach wyników zwracających tysiące Zadań znacznie spowalnia wyświetlanie. Jeśli to możliwe, używaj sortowania po polach systemowych lub rezygnuj z sortowania.
  • Nie grupuj, jeśli nie jest to konieczne. Jeśli możesz uniknąć grupowania — zrób to; przyspieszy to ładowanie.


Przejdź do