ďťż
 
ms sql 2005 + mediator - czemu to tak strasznei wolno chodzi? ďťż
 
ms sql 2005 + mediator - czemu to tak strasznei wolno chodzi?
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

ms sql 2005 + mediator - czemu to tak strasznei wolno chodzi?



pabi - 22-11-2006 00:03
ms sql 2005 + mediator - czemu to tak strasznei wolno chodzi?
  Dzien dobry
Mam program poznańskiej firmy i pracuje on na MS SQL 2005 za posrednictwem
mediatora. Bazy sa po prostu jako tabele, nie powiązane relacjami.Wszystko jest
zaszyte w programie, chyba w harborze a posredniczy w komunikacji z sql
sewrerem program mediator. Czy ktos moze mi powiedziec czemu to tak strasznei
wolno chodzi i czego to wina i cyz da się to jakos przyspieszyc?

--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl





Marek Horodyski - 14-12-2006 16:08

  U?ytkownik "pabi" <pabi@autograf.pl> napisa? w wiadomo?ci
news:1b66.00000020.4562aca8@newsgate.onet.pl...
> Dzien dobry
> Mam program pozna?skiej firmy i pracuje on na MS SQL 2005 za posrednictwem
> mediatora. Bazy sa po prostu jako tabele, nie powi?zane relacjami.Wszystko
> jest
> zaszyte w programie, chyba w harborze a posredniczy w komunikacji z sql
> sewrerem program mediator. Czy ktos moze mi powiedziec czemu to tak
> strasznei
> wolno chodzi i czego to wina i cyz da si? to jakos przyspieszyc?

Pewnie tak - ale producent musi duzo zmienic w aplikacji.
Proste przeniesienie aplikacji z DBF na jakis RDBMS spowoduje kilkukrotne
spowolnienie aplikacji w stosunku do tego co bylo na DBFach (). Na
dziendobry powinno sie mimowszystko zauwazyc poprawe stabilnosci. W sumie
aby uzyskac zauwazalny wzrost wydajnosci nalezy postawic jakiego smoka jako
serwer bazy danych i Mediatora. To i tak nie pozwoli na osiagniecie
szybkosci pracy z DBFami, ale powinnismy juz miec spokoj z rozwalonymi
danymi (chociaz tu chyba lepszym rozwiazaniem bylo by patchowanie novela).
Pozniej przejsc z Clippera na [x]Harbour - tu wyraznie widac lepsze/szybsze
wspolgranie aplikacji. No a dalej to juz trzeba analizowac model danych, i
albo go zmieniac jednoczesnie przechodzac na SQLa, albo w zapytaniach bardzo
dokladnie uwzgledniac to co zrobil mediator. Osobiscie wybralem ta 2 metode
(jednoczesnie ograniczajac gdzie tylko sie dalo zakladanie zlonych kluczy
indeksowych), gdyz nawet jak nie osiagne wydajnosci pierwszego rozwiazania,
to pozwala to na mieszanie technik, prawie ze az do bolu. Zapytania
wygladaja troche dziwnie, stosuje " ie$1 LIKE ID||% " itp. rozwiazania, ale
wiem ze nawet jak to jest LIKE to oprze sie o indeks bo nie ma wiekszej
mozliwosci, a przyspieszenie moze byc ogromne. Dosc powiedziedziec, ze
ciezkie zestawienia ktore na DBFach dopiescilem na amen, i na
notebuku/lokalnie/DBFy trwaly ponizej 4s., poprzez mediatora w srodowisku
produkcyjnym trwaly do 4h. Zapuszczenie tego na DBFach w sieci (prawdziwe
blokady jednak trwaja!) mimowszystko wydluzalo czas do kilku, moze
kilkunastu minut w skrajnym przypadku. Do tego nakladaly sie bledy zalozen
analitycznych, obchodzone rzutem na tasme - kosztem okolo 1000 krotnego
zwiekszenia ruchu na sieci. Ale stopniowa optymalizacja, przenoszenie logiki
na sqla a tym samym na serwer bazodanowy (np. grupowanie) pozwolilo zesc z
tych 4h do jakich 4min - co juz jest akceptowalne. A i tak wiem jak to
jeszcze conajmniej 2-3 krotnie przyspieszyc, tylko na to potrzeba czasu, a z
nim jest naprawde cienko. Tak ze droga jest dobra, tylko nie mozna
poprzestac na pierwszym kroku - trzeba isc dalej. Teraz, nawet do celow
komercyjnych chyba wszystkie firmy wypuscily swoje freewerowe wersje RDBMS.
Serwery te, pomimo ograniczen sa wystarczajaco dobre dla wiekszosci firm o
zasiegu lokalnym, tak ze z tym nie powinno byc wiekszego problemu. Tak ze
mozna pocwiczyc z roznymi bazami danych.
Mediator to fajna rzecz, ale trzeba myslec po SQLowemu. Na stacji nie trzeba
miec klieta bazy danych - a pracuje sie tak jakby on tam byl. Tylko serwer
Mediatora musi miec takiego klienta. Dodatkowo wspiera logike xBasowa, ktora
wcalae nie jest zla - tylko trzeba to wszystko ladnie pozenic, wybierac
najlepsze rozwiazania z kazdej z technologii :).

Pozdrawiam,
Marek Horodyski




pwola - 14-12-2006 16:08

  >> Czy ktos moze mi powiedziec czemu to tak
>> strasznei
>> wolno chodzi i czego to wina i cyz da si? to jakos przyspieszyc?
>
>Pewnie tak - ale producent musi duzo zmienic w aplikacji.
>Proste przeniesienie aplikacji z DBF na jakis RDBMS spowoduje kilkukrotne
>spowolnienie aplikacji w stosunku do tego co bylo na DBFach ().

Kilkukrotne spowolnienie to mo?e nie...., zale?y jaka aplikacja i jak
mierzy? :-)

Faktycznie porównuj?c wydajno?? na systemie aplikacji na której
pracowa?o kilkudziesi?ciu u?ytkowników w aplikacji Clipper *.dbf na
NetWare 4.1 do uk?adu Mediator - Oracle (na ró?nych maszynach) to
wydajno?? by?a porównywalna zw?aszcza dla tabel które mia?y kilka
milionów rekordów i ponad 1 GB - fakt Oracle pracowa? na 4
procesorowym serwerze :-) .
Append rekordów na Oracle by? troch? wolniejszy (mówi? ca?y czas do
pracy na sieci, bo lokalnie to dbf-y zawsze by?y szybsze :-)
ale za to select by? wydajniejszy.
W sumie po przeniesieniu aplikacji na uk?ad Mediator - Oracle
aplikacje zyska?y na wydajno?ci i sko?czy?y si? godzinne przestoje na
odbudow? indeksów i usuwanie awarii danych.

To co stanowi problem wydajno?ci wi?kszo?ci aplikacji szczególnie tych
pisanych w Clipperze to raportowanie z du?ych baz danych - w ko?cu
wszystkie rekordy trzeba przepchn?? do stacji klienta i przetworzy? a
to musi bole? :-)

Mo?liwe rozwi?zania:
1. Przepisa? raporty na sterownik MEDSQL (uda?o mi si? skróci? w ten
sposób czas z kilku godzin do kilku minut - ale to chyba dzia?a tylko
z Oracle)

2. Wykonywa? raporty bezpo?rednio z bazy danych zewn?trznym narz?dziem
np. SQLPlus, PHP, Oracle Reports, Crystal Reports, Delphi, C
ostatecznie mo?na podpi?? si? nawet Accessem

W?a?ciwie to problemem jest fakt przetwarzania danych na stacjach
roboczych, a nie na serwerze i te dane trzeba przez sie? przepchn??.
Paradoksalnie szybsza sie? mo?e spowodowa? ogólny spadek wydajno?ci
aplikacji, bo klient coraz szybciej ??da danych
a serwer.....
"nie ma.... nie ma... mo?e pó?niej... nie ma... "
i op?dzaj?c si? od obs?ugi ??da? nie ma czasu na wystawienie danych
:-)

Sensownym rozwi?zaniem wydaje si? przeniesienie przetwarzania danych
tak blisko danych (w sensie szeroko?ci kana?u transmisji) jak to
mo?liwe czyli zatrudnienie serwera bazy danych do przetwarzania i
obrabianie danych zagregowanych

Ale to tyle teorii teraz troch? praktyki :-)

Czy sprawdzi?e? gdzie masz "w?skie gard?a"
Porady dotycz? co prawda Oracle ale mam nadziej?, ?e MS SQLwygl?da
podobnie :-)
Jak z wydajno?ci? bazy danych? Czy problemem jest 100 % obci?zenia na
procesy obs?ugi bazy danych ?
Jak skonfigurowana jest baza (na ilu dyskach) ?
Jaki transfer z dysków ?
Czy ma dostateczn? ilo?? pami?ci?
Je?eli tu jest problem to mo?e pora pomy?le? o nowej maszynie :-)

Mediator'a mo?na postawi? na inn? maszyn? ( z tego co pamietam to w
statystykach mia? do 20% czasu procesora)

Aha... i mo?e najwa?niejsze nie próbuj poprawia? wydajno?ci w??czaj?c
cachowanie zapisów na stacjach !!!

Piotr




Marek Horodyski - 14-12-2006 16:08

 
U?ytkownik "pwola" <pwola@polbox.com> napisa? w wiadomo?ci
news:5samm256ctl716m4g09mdmhoop6oooorc3@4ax.com...
>>> Czy ktos moze mi powiedziec czemu to tak
>>> strasznei
>>> wolno chodzi i czego to wina i cyz da si? to jakos przyspieszyc?
>>

[...]

> milionów rekordów i ponad 1 GB - fakt Oracle pracowa? na 4
> procesorowym serwerze :-) .

Pisalem o smokach :) Chociaz 4 to nic, 64 to juz cos, a 128 ...
W kazdym badz razie jak ktos zmieni na maszynie NetWare na jakiegos RDBMS to
sie srodze zawiedzie.
Maszyna musi byc znacznie silniejsza, i jak serwer sie rozbuduje - efekty
daje sie zauwazyc.

> aplikacje zyska?y na wydajno?ci i sko?czy?y si? godzinne przestoje na
> odbudow? indeksów i usuwanie awarii danych.

Zauwazylem, ze na wydajnosci zyskuja aplikacje o niepowiazanych tabelach.
Jak aplikacja uzywa xBasowych relacji, zmienia je w trakcie pracy itp. to
zauwaza sie duzy spadek wydajnosci.
Ale znowu zrezygnowac z tego ciezko, bo to zdejmuje iles z programisty.
Dlatego pisze o mieszaniu rozwiazan.

> To co stanowi problem wydajno?ci wi?kszo?ci aplikacji szczególnie tych
> pisanych w Clipperze to raportowanie z du?ych baz danych - w ko?cu
> wszystkie rekordy trzeba przepchn?? do stacji klienta i przetworzy? a
> to musi bole? :-)

Ale jak sie uzywa dbEvale, dbJoiny, dbCopy, indeksy miejscowe,
ascending/descending, z klauzulami for i while - duze bazy przestaja bolec.
Najgorsze sa te uszkodzenia danych. Ale popatchowany serwer ponoc sie
poprawnie zachowuje.

> Mo?liwe rozwi?zania:
> 1. Przepisa? raporty na sterownik MEDSQL (uda?o mi si? skróci? w ten
> sposób czas z kilku godzin do kilku minut - ale to chyba dzia?a tylko
> z Oracle)

MedSql itp. nie sa rozwijane. Standardowy DBFNTX zaspokaja wszelkie
potrzeby. Generalnie trzba tylko otwierac dane poprawnie spreparowanymi
zapytaniami.
Chodzi jak burza, tylko trzeba miec dobrze indeksy poustawiane (no i ten
SMOK :). Zawsze klania sie poprawnosc modelu danych.

> 2. Wykonywa? raporty bezpo?rednio z bazy danych zewn?trznym narz?dziem
> np. SQLPlus, PHP, Oracle Reports, Crystal Reports, Delphi, C
> ostatecznie mo?na podpi?? si? nawet Accessem

Jak aplikacja elastyczna, to ni? si? zrobi duzo wiecej niz generatorem
zewnetrznym.

> W?a?ciwie to problemem jest fakt przetwarzania danych na stacjach
> roboczych, a nie na serwerze i te dane trzeba przez sie? przepchn??.
> Paradoksalnie szybsza sie? mo?e spowodowa? ogólny spadek wydajno?ci
> aplikacji, bo klient coraz szybciej ??da danych
> a serwer.....
> "nie ma.... nie ma... mo?e pó?niej... nie ma... "
> i op?dzaj?c si? od obs?ugi ??da? nie ma czasu na wystawienie danych
> :-)

Tak wlasnie jest. Trzeba przechodzic na SQLa, laczyc i grupowac po stronie
serwera.
Wczesniej jakies przetwarzania setek tysiecy rekordow, kilkanascie/dziesiat
tabel, mieszanie tam i spowrtotem -
a tu czesto wystarczy jedno zapytanie i ma sie odpowiedz po 5 - 15
sekundach - na poczatku przezywalem maly szok.
Dlatego uwazam ze oprogramowujac bazy sqlowe pisze sie prosciej - mniejsze
szanse na zaciecie przy goleniu :)

Pozdrawiam,
Marek Horodyski
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    jak to =?ISO-8859-2?Q?zrobi=E6=2E=2E=2E=3F_TSQL_sql_server?==?ISO-8859-2?Q?_?= =?iso-8859-2?Q?=5BMS_SQL=5D_Czy_mo=BFna_wywo=B3a=E6_funkcje_t ylko_raz_dla?==?iso-8859-2?Q?_ca=B3ego_zbioru_=BCr=F3d=B3owego=3F?= [MSSQL] =?ISO-8859-2?Q?zgodno=B6ci_z_licencjami_Microsoft_?==?ISO-8859-2?Q?SQL_Server?= Oracle PL/SQL Wstawianie =?ISO-8859-2?Q?wynik=F3w_kolekcji_d?==?ISO-8859-2?Q?o_tabeli?= [MSSQL] ACCESS - SQL =?ISO-8859-2?Q?B=B3ad_w_konwersji_lic?==?ISO-8859-2?Q?zb?= =?iso-8859-2?Q?=5Bmssql=5D_Zapytania_rekurencyjne__-_czy_sk=B3adnia_sql?==?iso-8859-2?Q?_co=B6_takiego_przewiduje_=3F?= [Oracle PL/SQL] Cursor i zapis =?ISO-8859-2?Q?rekord=F3w_do_?==?ISO-8859-2?Q?kolejnych_plik=F3w?= =?iso-8859-2?Q?=5BMySQL=5D_Co_minimalnie_potrzebne_zeby_mie=E 6_klienta_My?==?iso-8859-2?Q?SQL_na_Linuxie=3F?= [oracle] - Oracle SQL Developer - co to jest SID? =?ISO-8859-2?Q?[Oracle]_Wywo=B3anie_skryptu_sh_z_PL/SQL-a=3F=3F?=
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • ptsite.xlx.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com