woj. świętokrzyskie
Administracja MS SQL
Kielce
Raport stanów magazynowych rano generuje się w sekundę. Po południu ten sam raport, z tymi samymi parametrami, trwa minutę. Następnego dnia znów sekundę. Nikt nie potrafi tego wyjaśnić, bo serwer nie jest przeciążony. Przyczyną są najczęściej nieaktualne statystyki i złe plany wykonania zapytań.
Statystyki i indeksy
Loteria czasu wykonania
Silnik MS SQL, zanim wykona zapytanie, wybiera sposób jego wykonania. Decyzję opiera na statystykach, czyli informacjach o tym, ile i jakich danych jest w tabelach. Gdy statystyki są aktualne, wybór jest dobry. Gdy nie, silnik może wybrać plan, który przy obecnych danych jest wielokrotnie wolniejszy.
W firmach z Kielc, w których nikt nie ustawił konserwacji, statystyki aktualizują się tylko automatycznie, z opóźnieniem, a indeksy są pofragmentowane po latach zapisów i usunięć. Efekt to zapytania, które raz działają szybko, a raz wolno, bez widocznej przyczyny.
Porządkujemy trzy rzeczy: aktualizujemy statystyki, przebudowujemy albo reorganizujemy indeksy według stopnia fragmentacji i ustawiamy plan konserwacji, który robi to regularnie w oknach serwisowych. To najtańsza optymalizacja: bez wymiany sprzętu i bez zmian w aplikacji.
Zakres
Co obejmuje porządek w statystykach i indeksach
Najpierw pomiar, potem zmiany.
- Pomiar czasu najważniejszych operacji
- Sprawdzenie aktualności statystyk
- Stopień fragmentacji indeksów
- Aktualizacja statystyk
- Przebudowa lub reorganizacja indeksów
- Plan konserwacji w oknach serwisowych
- Ponowny pomiar po zmianach
- Raport z wynikami przed i po
- Nie przebudowujemy wszystkiego na ślepo
- Nie uruchamiamy konserwacji w godzinach pracy
- Nie zmieniamy aplikacji, gdy wystarczy porządek w bazie
Objawy
Objawy i ich prawdopodobne przyczyny
Poniżej objawy, które najczęściej prowadzą do statystyk i indeksów.
| Objaw | Prawdopodobna przyczyna | Co robimy |
|---|---|---|
| To samo zapytanie raz szybko, raz wolno | nieaktualne statystyki, zły plan | aktualizacja statystyk |
| Wolno po dużym imporcie danych | statystyki sprzed importu | aktualizacja po imporcie |
| Coraz wolniej z miesiąca na miesiąc | fragmentacja indeksów | przebudowa według fragmentacji |
| Raport wolny, reszta w porządku | brakujący indeks | analiza zapytania |
| Zapisy coraz wolniejsze | nadmiar indeksów | usunięcie zbędnych |
| Szybko po restarcie serwera, potem wolno | plany i pamięć | analiza obciążenia |
| Wszystko wolne naraz | kilka przyczyn lub sprzęt | pełny pomiar |
Każdą zmianę sprawdzamy pomiarem tych samych operacji. Dzięki temu wiadomo, co faktycznie pomogło, a nie tylko, że „jest lepiej".
Wynik
Co dostajecie
Zapytania, które trwają tyle samo każdego dnia.
- Aktualne statystyki: Silnik wybiera właściwe plany.
- Uporządkowane indeksy: Według rzeczywistej fragmentacji.
- Plan konserwacji: Żeby problem nie wrócił.
Kielce w praktyce
Czego nauczyły nas statystyki w kieleckich bazach
Pierwsza rzecz: w bazach, w których nikt nie ustawił konserwacji, samo uporządkowanie indeksów i statystyk potrafi skrócić czas krytycznych operacji o połowę.
Druga: duże importy danych, na przykład cenników czy kartotek, regularnie psują plany wykonania. Aktualizacja statystyk po imporcie rozwiązuje problem „wolnego dnia po aktualizacji cennika".
Trzecia: plan konserwacji z kreatora bywa gorszy niż żaden, bo przebudowuje wszystkie indeksy co noc niezależnie od potrzeby. Konserwacja według fragmentacji jest krótsza i skuteczniejsza.
Raporty działały raz szybko, raz tak wolno, że ludzie szli na kawę. Po aktualizacji statystyk i nowym planie konserwacji czas jest stały i wyraźnie krótszy.
Na start
Czego potrzebujemy na start
Najważniejsze są operacje, które spowalniają.
- Wersja MS SQL i system na bazie
- Lista operacji, które bywają wolne
- Informacja, kiedy spowolnienia występują
- Dostęp administracyjny do serwera
- Okna serwisowe
- Informacja o dużych importach danych
Współpraca
Jak pracujemy
Zaczynamy od przeglądu stanu i pomiaru wolnych operacji. Sprawdzamy kopie przed zmianami.
Aktualizujemy statystyki, porządkujemy indeksy i ustawiamy plan konserwacji w oknach serwisowych. Pracujemy zdalnie.
Mierzymy te same operacje po zmianach i przekazujemy wyniki. W ramach opieki pilnujemy, żeby konserwacja działała.
Zasięg
Gdzie dokładnie pracujemy
Statystyki, indeksy i konserwację baz MS SQL porządkujemy dla firm z Kielc zdalnie.
Pracujemy też dla firm z Ostrowca Świętokrzyskiego, Starachowic, Skarżyska-Kamiennej, Buska-Zdroju, Jędrzejowa i Chęcin.
- Ślichowice
- Barwinek
- Bocianek
- Szydłówek
- Herby
- Czarnów
- Baranówek
- Białogon
- Kadzielnia
- Wietrznia
- Zagórze
- Pod Telegrafem
Poza samym miastem pracujemy też w okolicy: Masłów, Morawica, Chęciny, Daleszyce, Miedziana Góra, Sitkówka-Nowiny, Piekoszów. Dla nas to ten sam wyjazd, a dla wyszukiwarki osobny zestaw zapytań, o który mało kto konkuruje świadomie.
Budżet
Ile kosztuje porządek w bazie
Zwykle to kilka godzin pracy, bez kosztów sprzętu.
| Element | Zakres | Czas | Orientacyjnie |
|---|---|---|---|
| Przegląd i pomiar | wolne operacje, statystyki, fragmentacja | kilka godzin | wycena po rozmowie |
| Statystyki i indeksy | aktualizacja, przebudowa, reorganizacja | w oknie serwisowym | godzinowo |
| Plan konserwacji | według fragmentacji, w oknach | krótko | godzinowo |
| Opieka | kontrola konserwacji, monitoring | miesięcznie | abonament, wycena po przeglądzie |
Jeśli pomiar pokaże problem w samym zapytaniu aplikacji, wyceniamy jego poprawę osobno.
Współpraca
Od loterii czasu do stabilnych zapytań
Pomiar
Wolne operacje.
Kopie
Sprawdzone przed zmianami.
Statystyki
Aktualne.
Indeksy
Według fragmentacji.
Konserwacja
W oknach serwisowych.
Ponowny pomiar
Wyniki przed i po.
Pytania
Zanim zapytasz
Najczęściej przez nieaktualne statystyki i zły plan wykonania.
Zwykle najpierw warto uporządkować indeksy i statystyki.
Większość nie. Robimy je w oknie serwisowym.
Często nie. Lepiej działa konserwacja według fragmentacji.
Mierzymy przed i po. Typowo krytyczne operacje skracają się o połowę.
Nie, gdy wystarczy porządek w bazie.
Ta sama okolica
Pozostałe usługi w Kielcach
Skończmy z loterią czasu zapytań
Napiszcie, które operacje bywają wolne i kiedy. Zaczniemy od pomiaru.