Łukasz S.

Łukasz S. Student, Treser,
Freelancer

Temat: FaKir na MSSQL 2005 Express

Mój klient ma bazę programu FaKir (5 baz, z czego dwie mają niecałe 2GB, a 3 koło 80-100MB) na MSSQL 2005 Express.

Serwer to IBM xSeries230 (zabytek) ale jakby nie patrzeć 2x PIII 1 Ghz i 2GB ECC RAM. Transfer z dysków, chociaż to rasowe SCSI, w RAID0 daje max 40-50 MB (trochę mało?).

Z badań po zainstalowaniu wersji 2008 Trial, 2008 Express, defragmentacji i kompaktowaniu baz - nic się nie zmienia na lepsze. Dalej działa koszmarnie wolno. Przy tworzeniu zestawień w programie, na serwerze mamy 100% zużycia CPU. Wiem że wersje Express użyją max 1 procesora, i 1GB ramu, ale nawet Trial używał 2 rdzeni mniej więcej po 50% raptem :/

Zastanawiam się co da się tu zoptymalizować? Czy pozostaje zakup nowego sprzętu? Jeżeli tak, to czy 4 rdzeniowy i5 czy i7 będą obsługiwane w pełni przez wersję Express? Licencja jest na fizyczny procesor czy rdzeń?
Bartosz Ślepowronski

Bartosz Ślepowronski Problem? Jaki
problem?

Temat: FaKir na MSSQL 2005 Express

MS definiuje CPU jako fizyczny procesor (a konkretnie "CPU socket") i tak nalezy rozumiec licencje.

W temacie uzywania wielu rdzeni MS wypowiada sie tutaj, ale moim zdaniem niezbyt precyzyjnie (KB dotyczy 2005, ale w 2008 jest tak samo). SQL Server express bedzie uzywal tylko jednego rdzenia do procesowania zapytan, za to wszystkich rdzeni do obslugi schedulera.

Czyli realnego zysku z wielu rdzeni miec nie bedziesz[*].

Wspominasz o procesorach i5/i7, one maja technologie turbo boost - kiedy w uzyciu jest tylko jeden rdzen to podbijaja jego taktowanie do maksimum. Jeden rdzen i7 taktowany 3+ ghz to chyba najszybsze co mozesz w tej chwili zorganizowac. Ale szybkie c2duo tez powinno dawac rade. Na pewno bedzie szybsze od tych PIII, ktore sa wolniejsze niz uzywany w netbookach intel Atom..

[*] swoja droga internet jest pelen sprzecznych informacji na ten temat.. zrobie testowa instalacje zeby potwierdzic na 100%Bartosz Ślepowronski edytował(a) ten post dnia 03.05.10 o godzinie 15:49
Krzysztof Stachyra

Krzysztof Stachyra Szef Wydziału
Produkcji Systemów
Handlowo-Magazynowyc
h i ...

Temat: FaKir na MSSQL 2005 Express

generalnie to odpowiedz sobie sam dokładnie na kilka pytań:
po pierwsze co się dzieje na serwerze poza samym fakirem (sama aplikacja z siebie będzie dobrze jeździć po bazach jak większość FK)
po drugie gdzie leży tak naprawdę wąskie gardło (perfmon.exe) powie Ci to dokładnie czy to dysk czy cpu czy może pamięć.
Po 3 czy te bazy są używane jednocześnie czy raz jedna druga itp
po czwarte co z utrzymaniem bazy danych(statystyki defragmentacja indeksów itp itd).

jak będziesz to wiedział to wtedy będziesz wiedział co optymalizować a przede wszystkim JAK.

konto usunięte

Temat: FaKir na MSSQL 2005 Express

Łukasz S.:
Mój klient ma bazę programu FaKir (5 baz, z czego dwie mają niecałe 2GB, a 3 koło 80-100MB) na MSSQL 2005 Express.

Serwer to IBM xSeries230 (zabytek) ale jakby nie patrzeć 2x PIII 1 Ghz i 2GB ECC RAM. Transfer z dysków, chociaż to rasowe SCSI, w RAID0 daje max 40-50 MB (trochę mało?).

Z badań po zainstalowaniu wersji 2008 Trial, 2008 Express, defragmentacji i kompaktowaniu baz - nic się nie zmienia na lepsze. Dalej działa koszmarnie wolno. Przy tworzeniu zestawień w programie, na serwerze mamy 100% zużycia CPU. Wiem że wersje Express użyją max 1 procesora, i 1GB ramu, ale nawet Trial używał 2 rdzeni mniej więcej po 50% raptem :/

Zastanawiam się co da się tu zoptymalizować? Czy pozostaje zakup nowego sprzętu? Jeżeli tak, to czy 4 rdzeniowy i5 czy i7 będą obsługiwane w pełni przez wersję Express? Licencja jest na fizyczny procesor czy rdzeń?
witam!
działa koszmarnie wolno na serwerze? czy na klientach? z badan jakich ? po sieci czy lokalnie. jeśli lokalnie jest 100% cpu to sprawa jasna
pozdr.
Marcin
Łukasz S.

Łukasz S. Student, Treser,
Freelancer

Temat: FaKir na MSSQL 2005 Express

Okazuje się, że wąskim gardłem są CPU.
Odczyt z macierzy RAID0 dwu dyskowej mamy na poziomie 30MB/s max, podczas pracy bazy obrót danych jest znikomy.
Gorzej że CPU przy robieniu raportu na kliencie rozkręca się do 100% i raport dla jednej firmy z całego roku czyli kilkaset dokumentów mieli kilkanaście minut.
Na serwerze nic innego jak tylko sqlsrv zjada zasoby.

Twórcy oprogramowania zalecają nowy sprzęt i pełną wersję MSSQL wspierającą wiele rdzeni i więcej pamięci :/Łukasz S. edytował(a) ten post dnia 10.05.10 o godzinie 21:48
Bartosz Ślepowronski

Bartosz Ślepowronski Problem? Jaki
problem?

Temat: FaKir na MSSQL 2005 Express

Łukasz S.:
Twórcy oprogramowania zalecają nowy sprzęt i pełną wersję MSSQL wspierającą wiele rdzeni i więcej pamięci :/

Sa rozne opcje licencjonowania SQL servera. Byc moze wystarczy SQL Server Workgroup z licencja CAL(730$)? SQL Server Standard CAL tez nie jest szalenie drogi - 900$ to nie jest jakis kosmiczny koszt dla firmy, chociaz nie wiem jak te ceny sa przeliczane na zlotowki.

Tutaj jest pomocna tabelka porownujaca wszystkie wersje.
Krzysztof Stachyra

Krzysztof Stachyra Szef Wydziału
Produkcji Systemów
Handlowo-Magazynowyc
h i ...

Temat: FaKir na MSSQL 2005 Express

jeżeli mieli CPU to faktycznie może być ciężko coś poprawić bo zapytań nie zmienisz także sugestia do sprzętu może być dobra ale pytanie czy też poprawienie zdefiniowany plan utrzymania nie pomoże, co do licencji zainteresuj się u producenta licencją RUNTIME możesz na niej utrzymywać wtedy tylko bazy tego producenta ale są o niebo tańsze (info na stronie wapro.pl)
Daniel Grabowski

Daniel Grabowski Interaktywne
planowanie produkcji
on-line z MES

Temat: FaKir na MSSQL 2005 Express

Łukasz S.:
Okazuje się, że wąskim gardłem są CPU.
OK, ale poproszę jeszcze raz a konkretnie; CPU serwera czy klienta?
Odczyt z macierzy RAID0 dwu dyskowej mamy na poziomie 30MB/s max, podczas pracy bazy obrót danych jest znikomy.
Gorzej że CPU przy robieniu raportu na kliencie rozkręca się do 100% i raport dla jednej firmy z całego roku czyli kilkaset dokumentów mieli kilkanaście minut.
Pytam, bo nie jestem do końca przekonany czy dobrze rozumiem.
Raport robiony jest na kliencie, ale to pełne obciążenie wykazuje CPU na serwerze i to proces MSSQLa obciąża ten procesor.
Czy tak?
Na serwerze nic innego jak tylko sqlsrv zjada zasoby.
Całe 100%?
Miałem kiedyś podobne problemy wydajnościowe, okazało się że dysk twardy w macierzy był uszkodzony.
Twórcy oprogramowania zalecają nowy sprzęt i pełną wersję MSSQL wspierającą wiele rdzeni i więcej pamięci
Nie wierzę im.
Widziałem ostatnio w działaniu instalację pewnego poważnego polskiego systemu ERP, który mieli nie więcej jak 20 kilka tyś dokumentów rocznie i działa jak krew z nosa. Klient miał podobne problemy, jak Ty. Producent też zalecił zmianę serwera Oracle na wersję 64bit i dołożenie RAMu (było 4GB jest bodajże 8GB). Całość stoi na dedykowanym (sic!) serwerze Windows (Oracle i Windows? Niech będzie) i obsługuje maksymalnie w jednym czasie 20 użytkowników (sic!!).
I co? Ano, pomogło, ale naprawdę mizernie - tak może z 25% max...
Miałem okazję zobaczyć tę aplikację, to jak ona traktuje bazę danych i jak jest napisana - to nie ma prawa działać.

Widziałem też pewien program klasy WMS, który odpytując o listę dokumentów magazynowych robił tak:
1) Wykonaj procedurę, która zwróci listę ID dokumentów spełniających kryteria
2) Dla każdego wiersza wykonaj procedury (od 1 do kilku w zależności co się tam kliknęło), która zwróci pozostałe i dodatkowe dane dla każdego dokumentu
I tak x 1000, a wszystko odpalane przez aplikację.
To nie ma prawa dobrze działać.
Przepisałem kilka raportów z tego systemu, czas wykonania udało się obciąć kilkudziesięciokrotnie.
Ale to nie był FaKir ;-)
Nie twierdzę, że w tym przypadku jest podobnie (nie znam tego produktu), ale możesz to łatwo sprawdzić profilerem.
Podłącz się i sprawdź jak FaKir rozmawia z bazą danych.
Łukasz S.

Łukasz S. Student, Treser,
Freelancer

Temat: FaKir na MSSQL 2005 Express

Daniel "wloochacz" Grabowski:
Łukasz S.:
Okazuje się, że wąskim gardłem są CPU.
OK, ale poproszę jeszcze raz a konkretnie; CPU serwera czy klienta?

CPU serwera.
Odczyt z macierzy RAID0 dwu dyskowej mamy na poziomie 30MB/s max, podczas pracy bazy obrót danych jest znikomy.
Gorzej że CPU przy robieniu raportu na kliencie rozkręca się do 100% i raport dla jednej firmy z całego roku czyli kilkaset dokumentów mieli kilkanaście minut.
Pytam, bo nie jestem do końca przekonany czy dobrze rozumiem.
Raport robiony jest na kliencie, ale to pełne obciążenie wykazuje CPU na serwerze i to proces MSSQLa obciąża ten procesor.
Czy tak?

Dokładnie tak jak napisałeś.

Co do uszkodzonego dysku - serwer nie raportuje żadnych problemów z dyskami, sprawdzanie benchmarkiem wszystkich po kolei również daje bardzo zbliżone wyniki dla każdego z dysków, więc zakładam że wszystkie działają.

Niestety są to serwerowe dyski SCSI których nie mogę podmienić na nic innego (w sensie nie mam sprawdzonego, działającego dysku SCSI pod ręką).

Dla porównania zainstalowałem tą samą bazę na moim laptopie 2,5Ghz Core2Duo, 4GB RAM, dysk 5400. Wszystkie operacje były do 6ciu razy szybsze - też wykorzystane 100% jednego rdzenia. Zakładam więc że to nie dysk, ale faktycznie procesor robi różnicę.

Teraz jestem na etapie poszukiwania jak najmocniejszej maszyny do zastąpienia starego serwera myślę nad jakimś szybkim C2D lub i5 bardziej przyszłościowo, z 4GB ram i zastanawiam się nad dyskami. Czy wybór RAID0 zamiast RAID1 (szybkość vs bezpieczeństwo) da mi jakieś realne zyski w pracy z MSSQL? Może załadować 3 dyski, z czego dwa spiąć w RAID0, a na trzecim co noc robić kopie systemu?

Swoją drogą, przy takiej strategii odczytu jaka istnieje w BD RAID0 będzie dawał jakiekolwiek zyski? Dużo, małych danych, pewnie porozrzucanych pomiędzy 2 dyski, zatem odczyt i tak będzie z jednego naraz?Łukasz S. edytował(a) ten post dnia 06.06.10 o godzinie 16:34

Następna dyskusja:

MSSQL 2005 Express - histor...




Wyślij zaproszenie do