Skocz do zawartości

Subiekt - długie ładowanie list faktur

Polecane posty

Cześć, 

Od jakiegość czasu zauważyłem długie ładowanie list (grida) dla faktur i listy rozrachunków.

Wykonałem odbudowanie indeksów i statystyk jak również zakutalizowałem InsTYNKT niestety bez większej poprawy. Na profilerze zauwarzyłem , że po wejściu w zakładkę faktur sprzedaż  baza wykonuję takie zapytanie :

select dok_id, dok_nrpelny from dok__dokument where dok_datawyst>'20151130' and dok_magid=25 and dok_typ=15 and dok_id not in (select pwd_fk02 from pw_dane where pwd_typobiektu=-2 and pwd_fk02 is not null)

 

Skąd te zapytanie ?? dok_magid=25,dok_typ=15 oraz dok_datawyst>'20151130'  (To nie ma nic wspólnego domyślnym magazynem ustawianym w słownik->personel )

 

Informacja o serwerze:

SQL Server Standard Edition (64-bit)

11.0.7001.0 (SP4)

20 GB RAM

9 CPU Wirtual po 2Ghz (Intel Xeon CPU E5-2620)

 

Wersja programu insert 1.74 HF1 (1.7401.1.5508)
 

Wiekość bazy 8828 MB

 

Proszę o pomoc i wskazówki gdzie szukac problem oraz jak mozna przyspieszyć działanie.

 

Edytowane przez Łukasz Filipiak
Link to postu
  • Łukasz Filipiak zmienił tytuł na Subiekt - długie ładowanie list faktur
12 minut temu, Łukasz Filipiak napisał:

Skąd te zapytanie ?

Jeśli mam zgadywać to wygląda na pole własne SQL.

 

15 minut temu, Łukasz Filipiak napisał:

Proszę o pomoc i wskazówki gdzie szukac problem oraz jak mozna przyspieszyć działanie.

Już kilka razy wypowiadałem się na tematy wydajnościowe na forum, może się Pan zapoznać z tymi sugestiami / kierunkami rozwiązania takich problemów i skorzystać.

 

W tym przypadku od razu zasugeruję zmianę sprzętu, gdyż źle dobrany (pod kątem serwera / wydajności), przestarzały (10-letni) sprzęt nie jest bazą do rozwiązywania problemów wydajnościowych / uzyskania maksymalnej wydajności.

 

 

Link to postu
2 godziny temu, Daniel Kozłowski napisał:

W tym przypadku od razu zasugeruję zmianę sprzętu, gdyż źle dobrany (pod kątem serwera / wydajności), przestarzały (10-letni) sprzęt nie jest bazą do rozwiązywania problemów wydajnościowych / uzyskania maksymalnej wydajności.

Panie Danielu , po czym pan tak twierdzi ?

W skrócie server fizyczny to IBM X3650 m4 z 64GB RAMu , dwa fizyczne Intel Xeon CPU E5-2620 (każdy po 6 core ,12 wątków). 

MSSQL stoi na windows 2012 Std. jako virtualka , łacznie do dyspozycji mam 45/50 GB RAM'u.

Dyski na których pracauje mssql oraz bazy to dwa dyski  ssd 037D6D7AMTFDDAK128MA PassMark - MTFDDAK128MAR-1J1AA 90Y8649 90Y8652IBM - Price performance comparison (harddrivebenchmark.net)

Jeśli to nie problem proszę o wskazanie błedów w doboru sprzętu, co jest nie tak. Czy są jakieś niepisane dobre praktyki dotyczące doboru podzespołów , np. ilość ramu zależna od wielkosci bazy, oraz uzytkowników,podmiotów ??

Ten sprzęt został skonfigurowany przez jedną z wiodących firm, które dostarczają rozwiązań spod marki IBM w Warszawie na podstawie naszych ówczesnych wytycznych.

Fakt serwer jest już u nas w firmie ponad 10 lat :)

 

Będę wdzieczny...

Edytowane przez Łukasz Filipiak
Link to postu
18 minut temu, Łukasz Filipiak napisał:

Panie Danielu , po czym pan tak twierdzi ?

Po podanym modelu procesora.

 

20 minut temu, Łukasz Filipiak napisał:

Jeśli to nie problem proszę o wskazanie błedów w doboru sprzętu, co jest nie tak.

Już wskazałem - wydajność - jeśli porówna Pan dwa procesory (w samej technologii), jeden z zegarem 2GHz, a drugi z zegarem 3,6Ghz, to który będzie wydajniejszy i o ile ?

 

26 minut temu, Łukasz Filipiak napisał:

Czy są jakieś niepisane dobre praktyki dotyczące doboru podzespołów , np. ilość ramu zależna od wielkosci bazy, oraz uzytkowników,podmiotów ??

Wszystkie dobre praktyki są pisane, serwery SQL Microsoftu i programy Insertu z nich korzystające istnieją na rynku od około 20 lat, więc są / powinny być dobrze znane (analogicznie 10 lat temu w momencie wyboru obecnego serwera). Nie ma prostej zależności, jak widzę pytania w tej formie o dobór serwera to po prostu staram się milczeć, w praktyce zaczyna się od jakiejś bazy i modyfikuje ją lub zmienia w zależności od potrzeb, ciężko jest / nie da się przewidzieć rzeczywistego obciążenia jak również rozwoju firmy, które może całkowicie zmienić te obciążenia. W Państwa przypadku można było zacząć od 1 procesora i 4 rdzeni (jakiś podstawowy XEON) za ułamek ceny tego sprzętu, mogłoby się okazać, że to wystarczy na długie lata lub nawet do dzisiaj, jeśli nie to można byłoby zmienić po kilku latach na coś zdecydowanie wydajniejszego, dobranego do potrzeb na podstawie wcześniejszych doświadczeń.

 

30 minut temu, Łukasz Filipiak napisał:

Ten sprzęt został skonfigurowany przez jedną z wiodących firm, które dostarczają rozwiązań spod marki IBM w Warszawie na podstawie naszych ówczesnych wytycznych.

Jakie doświadczenie we wdrożeniach i serwisie programów InsERT miała ta wiodąca firma i/lub Państwo, aby wybrać optymalną konfigurację ?

 

44 minuty temu, Łukasz Filipiak napisał:

Fakt serwer jest już u nas w firmie ponad 10 lat :)

Dobra praktyka - ze sprzętu serwerowego korzysta się przez okres jego gwarancji, czyli jakieś 5 lat, "dekada" to już trochę za długo ;) 

 

Link to postu

Przez 10 lat technologia ruszyła mocno do przodu. My zaczęliśmy podobnie jak pisał p. Daniel - od jakiegoś 4 rdzeniowego Xeona, którego wymieniliśmy po 3 latach bo nie dawał rady - załoga się rozrastała, oprogramowanie się rozrastało. Nasz obecny serwer ma 2x E5-2690 (10C/20TH) 3,0GHz/3,6Ghz turbo), 128GB RAMu, jakieś SSD Intela w RAID 10 (nie pamiętam modeli, nie chce mi się sprawdzać ;)) wszystko pracuje na VM-kach. Nie ma jeszcze 10 lat ale dużo mu nie brakuje ;). Będziemy go wymieniać w tym roku.

 

Na co dzień mam przyjemność pracować na Ryzenie 7 5800X, z dużą ilością RAMu i szybkim dyskiem NVME. Zaimportowałem sobie kopię produkcyjnej VMki z SQLem.  Ta VMka na tym desktopowym Ryzenie robi kółeczka wokół serwera produkcyjnego. Z tych rzeczy co sprawdzałem wszystko chodzi średnio 2-3 razy szybciej (różne zestawienia, dekretacja, wystawianie faktur) - porównywane w godzinach wieczornych, gdy serwer produkcyjny się nudził. Przeniosłem tą VMkę jeszcze sobie z NVME na SSD SATA (Crucial MX500) i nie poczułem różnicy.

Link to postu
19 minut temu, Paweł B napisał:

Na co dzień mam przyjemność pracować na Ryzenie 7 5800X, z dużą ilością RAMu i szybkim dyskiem NVME. Zaimportowałem sobie kopię produkcyjnej VMki z SQLem.  Ta VMka na tym desktopowym Ryzenie robi kółeczka wokół serwera produkcyjnego. Z tych rzeczy co sprawdzałem wszystko chodzi średnio 2-3 razy szybciej (różne zestawienia, dekretacja, wystawianie faktur) - porównywane w godzinach wieczornych, gdy serwer produkcyjny się nudził.

Tyle możemy uzyskać "siłowo" poprzez zmianę sprzętu, kiedy chcemy uzyskać przyspieszenie 10-100-1000 razy szybciej to już trzeba "sposobem" poprzez optymalizację.

 

22 minuty temu, Paweł B napisał:

Przeniosłem tą VMkę jeszcze sobie z NVME na SSD SATA (Crucial MX500) i nie poczułem różnicy.

O tym również nie raz informowałem - znając działanie programów i serwera SQL wiadomo, że podsystem dyskowy daje "komfort", a nie "wydajność", to nie jest system wielodostępowy (z tysiącami użytkowników) czy hurtownia danych (zapisująca duże ilości informacji).

Link to postu
W dniu 4.01.2023 o 09:24, Daniel Kozłowski napisał:

Tyle możemy uzyskać "siłowo" poprzez zmianę sprzętu, kiedy chcemy uzyskać przyspieszenie 10-100-1000 razy szybciej to już trzeba "sposobem" poprzez optymalizację.

Czy pan zajmuje się taką optymalizacją oraz doborem/modyfikacją sprzętu ?? Na przełomie tych 10 lat doszło trochę procedur, wyzwalaczy, linków z innymi serwerami, widoków... kończąc na aplikacjach i dodatkowych podmiotach. 

Czy zacząć od zwiększenie core'ów na Vm sql'ową plus Ram-rozwiązanie siłowe.

Link to postu
×
×
  • Dodaj nową pozycję...