Jak przyspieszyć program.

0

Nie wiem czy wybrałem dobrą kategorię ale spróbuję tutaj.

Mam program z bazą danych który napisany jest na dbf-ach i Fox Pro.
Sama baza nie jest jakaś ogromna ale nie jest też mała (ok 125MB) - 2 główne dbf-y mają po ok 30MB.
Program działa sieciowo w taki sposób że udostępniony jest cały katalog z programem i podmapowany jest z innych komputerów które go uruchamiają.

No i problem jest taki że program już jakiś czas strasznie zamula i wolno wchodzi w niektóre opcje i to na komputerze nazwijmy go "serwerze" (choć jest to Celeron 2,5GHZ z 512 RAM po kontorlą Win XP) a na końcówkach sieciowych w ogóle prawie nie da się pracować.

Czy mielibyście jakieś porady jak wycisnąć maximum z takiego połączenia - może jakieś zmiany w samym systemie operacyjnym albo inne.

Nie ma niestety programisty który go robił więc muszę popróbować przyspieszyć jak się da bez zmian w programie.

Dzięki za sugestie i pozdrawiam

0

uruchom sobie go lokalnie (skopiuj bazę i program na jakiś komputer) i zobacz jak działa. Jak nie ma różnicy to wątpię aby udało Ci się cokolwiek zmienić bez grzebania w programie. Jeśli działa szybciej to problemem będzie sieć. Jaki system jest na serwerze? Jakie są karty sieciowe i jaka technologia (koncentryk/skrętka 10/100/1000Mb). Jakie są końcówki i na jakim systemie.

0
Misiekd napisał(a)

uruchom sobie go lokalnie (skopiuj bazę i program na jakiś komputer) i zobacz jak działa. Jak nie ma różnicy to wątpię aby udało Ci się cokolwiek zmienić bez grzebania w programie. Jeśli działa szybciej to problemem będzie sieć. Jaki system jest na serwerze? Jakie są karty sieciowe i jaka technologia (koncentryk/skrętka 10/100/1000Mb). Jakie są końcówki i na jakim systemie.

Na "serwerze" zwykły XP PRO (dlatego nazwałem go tylko umownie serwerem. Karty sieciowe 100Mb/s a końcówki też są XP tylko Home.

Czy postawienie tego na jakimś firmowym serwerze pomogło by w problemie ?

Nie wiem jak duża jest różnica w wydajności zwykły PC vs. niedrogi ale prawdziwy serwer.

Pozdr

0

rozumiem, że swiche, routery i pozostałe urządzenia sieciowe też są w standardzie 100Mb. Oczywiście brak wirusów to podstawa :).
Ja bym zaczął od sprawdzenia, czy sieć działa dobrze. Możesz np. ściągnąć sobie program DUMeter (darmową 30 dniową wersję), zainstalować na serwerze i zobaczyć jakie prędkości przesyłu są osiągane podczas pracy programu. Dla porównania możesz przekopiować jakiś plik (np. największy plik dbf) na inny komputer i zobaczyć jakie prędkości osiągniesz.
Jeśli przy kopiowaniu prędkość będzie większa niż podczas pracy programu to niestety ale masz skopany soft. Przy 30 MB plikach dbf nawet przeczytanie go całego bez indeksów nie powinno być problemem.

Bez grzebania w programie możesz spróbować poprawić wydajność tworząc dodatkowe indeksy, ale jakie to trzeba będzie zgadywać :p.
BTW czy są w ogóle jakiekolwiek indeksy (pliki cdx albo idx)

0

Jeżeli masz 1500 zł do wydanie, to kup taki dysk:

http://www.skapiec.pl/site/cat/8/comp/452019
http://www.tomshardware.com/reviews/intel-x25-e-ssd,2158-2.html

dołóż do tego trochę ramu i powinno być ok (oczywiście przy założeniu, że winna nie jest sieć, ale w to wątpię).

0
Misiekd napisał(a)

rozumiem, że swiche, routery i pozostałe urządzenia sieciowe też są w standardzie 100Mb. Oczywiście brak wirusów to podstawa :).
Ja bym zaczął od sprawdzenia, czy sieć działa dobrze. Możesz np. ściągnąć sobie program DUMeter (darmową 30 dniową wersję), zainstalować na serwerze i zobaczyć jakie prędkości przesyłu są osiągane podczas pracy programu. Dla porównania możesz przekopiować jakiś plik (np. największy plik dbf) na inny komputer i zobaczyć jakie prędkości osiągniesz.
Jeśli przy kopiowaniu prędkość będzie większa niż podczas pracy programu to niestety ale masz skopany soft. Przy 30 MB plikach dbf nawet przeczytanie go całego bez indeksów nie powinno być problemem.

Bez grzebania w programie możesz spróbować poprawić wydajność tworząc dodatkowe indeksy, ale jakie to trzeba będzie zgadywać :p.
BTW czy są w ogóle jakiekolwiek indeksy (pliki cdx albo idx)

Pliki CDX są ale z czym to się je to nie wiem - nie znam w ogóle baz opartych o DBF poza dbasem którym bawiłem się z 10lat temu :)
sieci myślę że działa w miarę normalnie.

0
__krzysiek85 napisał(a)

Jeżeli masz 1500 zł do wydanie, to kup taki dysk:

http://www.skapiec.pl/site/cat/8/comp/452019
http://www.tomshardware.com/reviews/intel-x25-e-ssd,2158-2.html

dołóż do tego trochę ramu i powinno być ok (oczywiście przy założeniu, że winna nie jest sieć, ale w to wątpię).

Niestety nie ma tyle pieniążków :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1