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
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
Macie jakiekolwiek pomysły co może powodować takie zwieszki ?
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.
@m może oni mają dump części do aut A tam jest tego duuuużo
Gorzej to odzież damska
Ż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)