Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ Microsoft SQL Server / MSDE _ Wolne działanie bazy

Napisany przez: sazian 20.03.2017, 18:50:17

Witam,
mam dosyć dziwny problem. Pobieram dane z bazy pewnego programu magazynowo księgowego.
Dane są pobierane programem pisanych w c#, wygląda to w taki sposób że dane wyciągnięte z bazy następnie są łączone w "pakiety" i wysyłane POSTem na zdalny serwer.

I tu wszystko oczywiście działa, problem jest w tym że klient zgłasza mi że po uruchomieniu programu do pobierania danych strasznie zwalnia mu program magazynowy.
Testowałem to na swojej maszynie i wszystko działa jak należy - oczywiście są różnice w środowiskach, ja testuje to na jednym stanowisku klient ma ich kilka ...
Według relacji klienta normalnie np. lista produktów wczytuje się w około 3-5 sekund, po uruchomieniu pobierania w 20-30 sad.gif


Do wszystkich tabel w SELECTach dodałem "with (NOLOCK)" i nic.
Mam wykresy z activity monitor z management studio i wynika z nich że baza ma lepiej niż na wczasach.
Batch requests nie przekracza 10 requestów na sekundę, I/O na poziomie 0,1MB/sec. Normalnie żyć nie umierać.
Jedynie co widać to pojawił się waiting tasks ale to jest moje zapytanie które wyciąga ponad 30000 i ma nolock sad.gif

Macie jakiekolwiek pomysły co może powodować takie zwieszki ?

Napisany przez: mmmmmmm 21.03.2017, 14:41:05

Lista produktów ładuje się 3-5 sekund??
PRODUKTÓW, których dane zmieniają się bardzo rzadko i nie jest ich (zapewne) jakkaś powalająca ilość...
Woła o pomstę do niebios.

Napisany przez: Pyton_000 21.03.2017, 14:45:31

@m może oni mają dump części do aut biggrin.gif A tam jest tego duuuużo biggrin.gif

Napisany przez: sazian 21.03.2017, 17:23:49

Gorzej to odzież damska wink.gif
Żeby było ciekawiej wczytanie listy produktów w programie robi się przy pomocy kilkuset zapytań.

Problem udało się rozwiązać. Na tabeli były wyzwalacze i to prawdopodobnie one podczas działań na tej tabeli powodowały jakieś zgrzyty.
Problem rozwiązałem ładując zapytanie do osobnej transakcji, do tego w osobnej tabeli zapisuję co zostało wysłane - dzięki temu mogę użyć TOPa żeby pobierać dane w mniejszych porcjach.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)