woj. pomorskie
Administracja MS SQL
Gdynia
W biurze firmy logistycznej z Gdyni kilka razy dziennie wszystkim naraz „wisi" zapis dokumentu. Po minucie wszystko rusza. Serwer nie jest przeciążony, dysk nie jest pełny. Winny okazuje się raport uruchamiany przez jedną osobę, który na czas działania blokuje tabelę z dokumentami dla wszystkich pozostałych.
Blokady
Wszyscy czekają na jedną operację
Blokady to naturalny mechanizm bazy: gdy jedna operacja zmienia dane, inne muszą chwilę poczekać. Problem zaczyna się, gdy ta chwila trwa minutę, a czekają wszyscy. Użytkownicy widzą zawieszony program, a serwer w tym czasie prawie nic nie robi.
W firmach z Gdyni, szczególnie w logistyce i handlu z dużą liczbą dokumentów dziennie, przyczyny są dość powtarzalne. Raport czytający dużą tabelę bez odpowiedniego indeksu. Długa transakcja, np. import danych, który trzyma blokady do końca. Integracja otwierająca transakcję i czekająca na odpowiedź z zewnątrz. Czasem zakleszczenia, w których dwie operacje czekają na siebie nawzajem.
Diagnozujemy blokady w chwili, gdy występują: kto blokuje, kto czeka, na jakim zapytaniu i na jakich danych. Na tej podstawie poprawiamy indeksy, przesuwamy ciężkie operacje, skracamy transakcje albo — gdy problem jest w samym systemie — przekazujemy dostawcy konkretne dane.
Diagnoza
Co obejmuje diagnoza blokad
Blokady trzeba złapać w działaniu, a nie zgadywać po fakcie.
- Zapis blokad i zakleszczeń w chwili wystąpienia
- Identyfikacja operacji blokującej
- Zapytania i dane, na których dochodzi do blokad
- Indeksy skracające czas blokujących operacji
- Przesunięcie ciężkich raportów i importów
- Skrócenie długich transakcji, gdzie to możliwe
- Ustawienia bazy po uzgodnieniu z dostawcą systemu
- Monitoring długich blokad
- Nie przerywamy operacji użytkowników bez uzgodnienia
- Nie zmieniamy ustawień izolacji bez zgody dostawcy systemu
- Nie zgadujemy przyczyny bez zapisu blokad
Źródła blokad
Najczęstsze źródła blokad
Poniżej przyczyny, które najczęściej pokazuje zapis blokad.
| Źródło blokady | Objaw | Rozwiązanie |
|---|---|---|
| Raport czytający dużą tabelę | zapisy wiszą podczas raportu | indeks, przesunięcie raportu |
| Import danych w godzinach pracy | wolno przez czas importu | przesunięcie, mniejsze porcje |
| Integracja czekająca na odpowiedź | losowe zawieszenia | krótsza transakcja w integracji |
| Brak indeksu przy zapisie | blokady większe, niż trzeba | indeks pod zapytanie |
| Zakleszczenia | błąd u jednego z użytkowników | kolejność operacji, indeksy |
| Konserwacja w godzinach pracy | blokady w stałych porach | przeniesienie w okno |
| Ustawienia izolacji | odczyty czekają na zapisy | zmiana po zgodzie dostawcy |
Blokady trwające minutę znikają, zanim ktoś zdąży zadzwonić. Dlatego ustawiamy zapis blokad i zakleszczeń, który zbiera dane automatycznie, i analizujemy je po kilku dniach.
Wynik
Co dostajecie
Zapisy, które nie czekają na cudze raporty.
- Znana przyczyna: Kto blokuje i dlaczego.
- Konkretna poprawka: Indeks, harmonogram, transakcja.
- Monitoring: Długie blokady widoczne od razu.
Gdynia w praktyce
Czego nauczyły nas blokady w gdyńskich firmach
Pierwsza rzecz: za większość blokad odpowiada jedna, dwie operacje. Zwykle raport albo import uruchamiany w godzinach pracy.
Druga: integracje ze sklepami, przewoźnikami czy platformami potrafią trzymać transakcję otwartą, czekając na odpowiedź z zewnątrz. Gdy usługa odpowiada wolno, cała baza czeka.
Trzecia: zmiana ustawień izolacji bazy potrafi usunąć wiele blokad odczytu, ale zawsze wymaga zgody dostawcy systemu. Bez niej nie ruszamy tego ustawienia.
Kilka razy dziennie wszystkim wisiał zapis dokumentów. Zapis blokad pokazał raport jednej osoby. Po dodaniu indeksu raport trwa sekundy, a zawieszenia zniknęły.
Na start
Czego potrzebujemy na start
Najważniejsze są pory zawieszeń.
- Wersja MS SQL i system na bazie
- Opis zawieszeń i ich pory
- Raporty, importy i integracje działające w dzień
- Dostęp administracyjny do serwera
- Kontakt do dostawcy systemu
- Osoba, która zgłosi zawieszenie na bieżąco
Współpraca
Jak pracujemy
Zaczynamy od przeglądu stanu i ustawienia zapisu blokad oraz zakleszczeń. Zbieramy dane przez kilka dni pracy.
Analizujemy, kto blokuje i dlaczego. Wprowadzamy poprawki: indeksy, harmonogram, zalecenia dla integracji. Pracujemy zdalnie.
Sprawdzamy, czy blokady zniknęły. W ramach opieki monitorujemy długie blokady na bieżąco.
Zasięg
Gdzie dokładnie pracujemy
Blokady w bazach MS SQL diagnozujemy i usuwamy dla firm z Gdyni zdalnie.
Pracujemy też dla firm z Rumi, Redy, Wejherowa, Kosakowa, Pucka i Szemudu.
- Śródmieście
- Redłowo
- Karwiny
- Witomino
- Chylonia
- Obłuże
- Oksywie
- Orłowo
- Dąbrowa
- Wielki Kack
- Grabówek
- Pogórze
Poza samym miastem pracujemy też w okolicy: Rumia, Reda, Wejherowo, Sopot, Kosakowo, Puck, Chwaszczyno. Dla nas to ten sam wyjazd, a dla wyszukiwarki osobny zestaw zapytań, o który mało kto konkuruje świadomie.
Budżet
Ile kosztuje diagnoza blokad
Koszt zależy głównie od liczby źródeł blokad.
| Element | Zakres | Czas | Orientacyjnie |
|---|---|---|---|
| Przegląd i zapis blokad | ustawienie, zbieranie danych | kilka dni pracy firmy | wycena po rozmowie |
| Analiza | kto blokuje, na czym, dlaczego | kilka godzin | godzinowo |
| Poprawki | indeksy, harmonogram, zalecenia | zależnie od przyczyn | wycena po analizie |
| Opieka | monitoring blokad, przeglądy | miesięcznie | abonament, wycena po przeglądzie |
Zmiany w samym systemie lub integracjach wykonują ich dostawcy. My przekazujemy dane z diagnozy.
Współpraca
Od zawieszeń bez przyczyny do konkretnej poprawki
Przegląd
Stan bazy i pory zawieszeń.
Zapis blokad
Przez kilka dni pracy.
Analiza
Kto blokuje i dlaczego.
Poprawki
Indeksy i harmonogram.
Dostawcy
Dane dla systemu i integracji.
Monitoring
Długie blokady na bieżąco.
Pytania
Zanim zapytasz
Najczęściej przez blokady — zapis czeka na inną operację.
Tak, zapis blokad pokazuje, kto blokuje i na czym.
Zwykle nie. Często wystarczy indeks lub zmiana harmonogramu.
Sytuacją, w której dwie operacje czekają na siebie nawzajem.
Tylko za zgodą dostawcy systemu.
Zapis przez kilka dni pracy, potem analiza.
Ta sama okolica
Pozostałe usługi w Gdyni
Ta sama usługa
Bazy danych MS SQL w innych miastach
Znajdźmy, kto blokuje Waszą bazę
Napiszcie, kiedy zawieszają się zapisy i jak długo trwają. Ustawimy zapis blokad.