Plik bazy danych Firebird rośnie wraz z każdym wprowadzonym dokumentem magazynowym, fakturą czy operacją rozliczeniową. Wraz ze wzrostem rozmiaru pliku operacje, które dotychczas trwały ułamek sekundy, zaczynają zajmować kilkanaście sekund lub wręcz blokują pracę programu sprzedażowo-magazynowego. W architekturze tego silnika mechanizm wielowersyjności sprawia, że każda modyfikacja rekordu tworzy nową wersję wiersza, a stare wersje zalegają na stronach bazy danych aż do momentu ich wymiecenia lub pełnej rekonstrukcji pliku.
Spadek wydajności w środowisku Firebird rzadko pojawia się nagle z dnia na dzień. Zwykle jest to proces stopniowy, który nasila się po kilku latach intensywnej eksploatacji systemu handlowego lub kadrowego bez wykonywania regularnych procedur konserwacyjnych.
Podczas codziennej pracy w programie firmowym spadek wydajności silnika bazodanowego objawia się w bardzo charakterystyczny sposób. W rozmowach telefonicznych użytkownicy najczęściej opisują następujące symptomy:
Spowolnienie działania silnika Firebird wynika ze specyfiki jego wewnętrznej budowy, sposobu alokacji pamięci oraz organizacji transakcji. Poniżej przedstawiono najczęstsze źródła problemów, uporządkowane od występujących najczęściej:
Firebird korzysta z architektury MGA (Multi-Generational Architecture — architektura wielowersyjna). Każda edycja lub usunięcie rekordu nie nadpisuje od razu fizycznego miejsca na dysku, lecz tworzy kolejną wersję danych, aby inne aktywne transakcje miały spójny wgląd w stan bazy. Jeśli baza nie przechodzi regularnego czyszczenia, a w systemie wiszą niedomknięte transakcje, mechanizm automatycznego wymiatania (garbage collection — usuwanie nieaktualnych wersji rekordów) zostaje zablokowany. W rezultacie silnik musi odczytywać z dysku tysiące niepotrzebnych wersji wierszy podczas każdego zapytania.
W silniku Firebird kluczowe znaczenie ma rozpiętość między najstarszą interesującą transakcją (OIT — Oldest Interesting Transaction) a najstarszą aktywną transakcją (OAT — Oldest Active Transaction). Gdy różnica ta osiąga setki tysięcy lub miliony, proces wymiatania śmieci drastycznie obciąża procesor i operacje wejścia-wyjścia dysku przy każdym odczycie tabeli, co skutkuje ogólnym paraliżem systemu.
Indeksy w bazie danych pomagają silnikowi błyskawicznie lokalizować żądane wiersze. Podczas intensywnego dodawania i usuwania danych wskaźnik selektywności indeksów traci aktualność. Optymalizator zapytań Firebird wybiera wówczas nieefektywny plan wykonania zapytania — zamiast skorzystać z szybkiego przeszukiwania indeksowego, zaczyna skanować całą tabelę rekord po rekordzie (Natural Scan — pełne przeszukanie tabeli).
Wraz z przyrostem bazy nowe strony danych są alokowane w sposób ciągły, lecz z czasem przestrzeń wewnątrz pliku ulega fragmentacji. Dodatkowo starsze bazy często pracują na domyślnym, małym rozmiarze strony (np. 4096 bajtów), co przy współczesnych nośnikach pamięci wymusza wykonywanie zbyt dużej liczby operacji odczytu dla pobrania pojedynczego bloku danych.
Domyślna konfiguracja serwera bazy danych często przydziela zbyt małą liczbę buforów stron w pamięci RAM. W efekcie silnik nie mieści często używanych indeksów w pamięci operacyjnej i przy każdym odpytaniu musi odczytywać dane bezpośrednio z fizycznego nośnika dyskowego komputera pełniącego funkcję bazy.
Nie każde spowolnienie programu firmowego wynika bezpośrednio ze stanu samego pliku bazy danych Firebird. Zanim podejmie się zaawansowane procedury bazodanowe, warto wykluczyć inne źródła problemu:
Prace nad przywróceniem wydajności bazy danych wykonujemy bezpośrednio na miejscu u klienta lub odbieramy sprzęt do warsztatu i odwozimy po naprawie, jeżeli wymagana jest wielogodzinna przebudowa wielogigabajtowego zbioru danych. Procedura obejmuje następujące kroki techniczne:
Nieprawidłowe próby naprawy bazy danych mogą doprowadzić do nieodwracalnego uszkodzenia spójności danych firmowych. Należy bezwzględnie unikać ryzykownych działań:
Przed przyjazdem serwisu można natomiast bezpiecznie zweryfikować kilka podstawowych elementów:
Dojeżdżamy do firm i biur na terenie Warszawy oraz okolicznych powiatów, zapewniając wsparcie techniczne dla systemów komputerowych pracujących pod kontrolą silnika Firebird. Zgłoszenia realizujemy przez całą dobę, 7 dni w tygodniu, również w godzinach nocnych i w dni wolne od pracy, co pozwala na przeprowadzenie czasochłonnych procedur optymalizacyjnych bez przerywania bieżącej obsługi klientów w przedsiębiorstwie.
Przed przystąpieniem do jakichkolwiek prac przeprowadzamy szczegółową diagnozę na miejscu u klienta i przedstawiamy dokładną wycenę usługi. Po jej zaakceptowaniu wykonujemy niezbędne prace konserwacyjne i optymalizacyjne. W przypadku bardzo dużych baz wymagających wieloetapowej naprawy strukturalnej lub przy konieczności równoległej wymiany dysków w komputerze, odbieramy sprzęt do warsztatu i odwozimy po zakończonej naprawie i pełnych testach wydajnościowych. Na wykonane usługi udzielamy gwarancji do 12 miesięcy, a na życzenie klienta podpisujemy bezpłatną umowę o poufności danych (NDA).
W przypadku problemów z powolnym działaniem bazy Firebird lub zawieszaniem się programu firmowego zachęcamy do kontaktu telefonicznego pod numerem 22 257 87 54.
Nie wiesz, od czego zacząć? Zadzwoń.
Porada telefoniczna nic nie kosztuje, a część usterek udaje się rozwiązać bez dojazdu — zwłaszcza tych, w których winne są ustawienia albo zasilanie. Jeżeli trzeba przyjechać, dojazd, odbiór i zwrot sprzętu są bezpłatne, a diagnoza laptopa przy odbiorze — również. Wizyta serwisanta u klienta jest płatna; sam dojazd i tak nic nie kosztuje.
Telefon odbieramy całą dobę, siedem dni w tygodniu — także w weekendy i święta. Dojeżdżamy na terenie Warszawy i siedmiu przyległych powiatów.
Serwis laptopów i komputerów na warszawskim Bemowie. Przyjeżdżamy pod wskazany adres — do domu i do firmy. Dojazd, odbiór i zwrot nic nie kosztują, a diagnoza laptopa przy odbiorze sprzętu jest bezpłatna.
ul. Lazurowa 14b
01-474 Warszawa — Bemowo
Biuro bez obsługi klientów. Sprzętu nie trzeba nigdzie przywozić.
Odbieramy także w weekendy i święta. Przy pilnych zgłoszeniach umawiamy się na ten sam dzień.
Dojazd: Warszawa i siedem przyległych powiatów, w promieniu 40 km. Na miejscu jesteśmy z reguły w ciągu godziny.
Na wykonane naprawy dajemy gwarancję do 12 miesięcy.