|
| C5 på SQL - stadigvæk langsom Fra : Kim Noer |
Dato : 29-07-04 15:18 |
|
Davsen der ...
Hvad kan grunden være til der ikke er speciel stor forskel på C5 native og
C5 SQL? Laver jeg en select * from lagkart, tager det 16 sekunder for at
returnere 31019 records.
--
I doubt, therefore I might be.
| |
Bent Stigsen (29-07-2004)
| Kommentar Fra : Bent Stigsen |
Dato : 29-07-04 17:00 |
|
Kim Noer wrote:
> Davsen der ...
>
> Hvad kan grunden være til der ikke er speciel stor forskel på C5 native og
> C5 SQL? Laver jeg en select * from lagkart, tager det 16 sekunder for at
> returnere 31019 records.
Det er lidt sparsom info.
I første omgang må du nok tegne og fortælle lidt for dig selv, og få
alle aspekter med, så du er sikker på at skylden ligger i forskellen
mellem C5 native og C5 SQL.
Hvilket klient-programmel du bruger op mod en database behøver ikke
betyde en dyt.
Et eksempel; din klient og database er på to forskellige maskiner på et
100 Mbit netværk, og hver record i forespørgslen har størrelse 5 KB.
Ganget antallet records fås ca. 150 MB data, og med en overførsel på
rundt 10 MBps, må man forvente at det tager ca. 15 sekunder i ren data
transmission. Tiden det tager klientsoftwaren at initiere en
forbindelse, evt. parse og sende en forspørgsel, er i dette tilfælde
ubetydelig.
/Bent
| |
Kim Noer (29-07-2004)
| Kommentar Fra : Kim Noer |
Dato : 29-07-04 17:27 |
|
"Bent Stigsen" <ngcdo@thevoid.dk> wrote in message
news:41091ef3$0$309$edfadb0f@dread14.news.tele.dk
> Det er lidt sparsom info.
> I første omgang må du nok tegne og fortælle lidt for dig selv, og få
> alle aspekter med, så du er sikker på at skylden ligger i forskellen
> mellem C5 native og C5 SQL.
Jeg tror umiddelbart 'skylden' ligger på den måde database strukturen er
bygget. Kigger jeg f.eks. på LagKart er der hele 92 kolonner. Det er vidst
ikke særligt fornuftigt i DB sammenhæng?
> Ganget antallet records fås ca. 150 MB data, og med en overførsel på
> rundt 10 MBps, må man forvente at det tager ca. 15 sekunder i ren data
> transmission. Tiden det tager klientsoftwaren at initiere en
> forbindelse, evt. parse og sende en forspørgsel, er i dette tilfælde
> ubetydelig.
Jeps, det giver naturligvis mening. Den måde jeg har testet på i C5 er via
en simpel kørsel :
search lagkart seq
end
og det tager jeg så tiden på. I native tager det 4 sekunder at løbe de 31k
records igennem, med C5 SQL tager det 11 sekunder.
Jeg er klar over at man overhovedet ikke kan sige noget om den generelle
'performance' med sådan en kørsel.
Så jeg søger generelle tips til optimering af performance på en C5 SQL
database, hvor det bliver brugt fra C5 klient. Dvs. via C5's XAL sprog.
I øvrigt, hvis et felt ikke indeholder nogen database, sætter SQL char(02)
som indhold - er det et problem, eller bare den måde C5 synes det skal virke
på (felterne må ikke indeholde 'NULL').
--
I doubt, therefore I might be.
| |
Peter Lykkegaard (29-07-2004)
| Kommentar Fra : Peter Lykkegaard |
Dato : 29-07-04 18:20 |
|
"Kim Noer" wrote
>
> Jeg tror umiddelbart 'skylden' ligger på den måde database strukturen
er
> bygget. Kigger jeg f.eks. på LagKart er der hele 92 kolonner. Det er
vidst
> ikke særligt fornuftigt i DB sammenhæng?
>
Det behøver ikke at give problemer
MSSQL har bare den ldit kedelige vane med at checke alle felter i forb
med updates
Jeg ved ikke om C5 kan implementere timestamp i en ekstra kolonne, så
checker MSSQL nemlig kun på at dette er ændret siden sidst
> Jeps, det giver naturligvis mening. Den måde jeg har testet på i C5 er
via
> en simpel kørsel :
>
> search lagkart seq
>
> end
>
> og det tager jeg så tiden på. I native tager det 4 sekunder at løbe de
31k
> records igennem, med C5 SQL tager det 11 sekunder.
>
Når du nu er flyttet over på MSSQL, så kan du lave en SELECT * FROM
LagerKart direkte
Prøv det - så kan du se forskellen på XAL's hierarkiske dataengine og en
relationel databaseengine
> Jeg er klar over at man overhovedet ikke kan sige noget om den
generelle
> 'performance' med sådan en kørsel.
>
Nope - imho
> Så jeg søger generelle tips til optimering af performance på en C5 SQL
> database, hvor det bliver brugt fra C5 klient. Dvs. via C5's XAL
sprog.
>
Generelt kan siges at du skal være meget obs på dine indexes, men gælder
naturligvis også på en native database
Og igen - hvad hardware kører din databaseserver med?
For efterhånden mange år siden var indirekte involveret i flytning af
CXAL fra en native database over på en Unix/Oracle ting
Hvor applikationen blev kaldt som en terminal session på en Unix box ved
siden af
Det hjalp dramatisk på svartiderne
- Peter
| |
Peter Lykkegaard (29-07-2004)
| Kommentar Fra : Peter Lykkegaard |
Dato : 29-07-04 18:12 |
|
"Kim Noer" wrote
> Hvad kan grunden være til der ikke er speciel stor forskel på C5
native og
> C5 SQL? Laver jeg en select * from lagkart, tager det 16 sekunder for
at
> returnere 31019 records.
>
Hvilken hardware er MSSQL installeret på?
- Peter
| |
Kim Noer (29-07-2004)
| Kommentar Fra : Kim Noer |
Dato : 29-07-04 23:22 |
|
Peter Lykkegaard wrote:
> Hvilken hardware er MSSQL installeret på?
2x2 GHz Xeon, 1,5 GB RAM og så lige en RAID 50E til C5'eren. SQL serveren er
sat til at forbruge max 800 MB af RAM'en.
--
"As the horrendous Black Beast lunged forward, escape for Arthur and
his knights seemed hopeless, when suddenly, the animator suffered a
fatal heart attack."
| |
Peter Lykkegaard (30-07-2004)
| Kommentar Fra : Peter Lykkegaard |
Dato : 30-07-04 16:23 |
|
"Kim Noer" wrote
> 2x2 GHz Xeon, 1,5 GB RAM og så lige en RAID 50E til C5'eren. SQL
serveren er
> sat til at forbruge max 800 MB af RAM'en.
Nu er det godt nok noget længe siden
Men C5 ligger på samme box som MSSQL?
Den C5 du starter op - den ligger vel på en klient
Jeg kan ikke huske om man kan connecte direkte til MSSQL fra klienten
eller om man skal via noget apps/services på databaseserveren
Hvordan processerer MSSQL nå du trækker på lagerkart?
Hvor mange raidset har du lavet?
Det kan betale sig at have 4 kanaler hvor man deler tingenen lidt op
Der er forskellige muligheder
Der skulle være noget inspiration her
http://www.sql-server-performance.com
- Peter
| |
Kim Noer (02-08-2004)
| Kommentar Fra : Kim Noer |
Dato : 02-08-04 13:57 |
|
"Peter Lykkegaard" <polonline@hotmail.com> wrote in message
news:410a6811$0$230$edfadb0f@dread14.news.tele.dk
> Men C5 ligger på samme box som MSSQL?
Jeps.
> Den C5 du starter op - den ligger vel på en klient
Jeps. Men hastigheden ændre sig ikke nævneværdigt (det skal nævnes at den
kun er i test, dvs. der er ikke et flerbrugerscenarie der kan give mig mere
præcise tal endnu).
> Jeg kan ikke huske om man kan connecte direkte til MSSQL fra klienten
> eller om man skal via noget apps/services på databaseserveren
Så vidt jeg kan se er det direkte fra klienten til MSSQL via SQL driveren
(OLEDB?).
> Hvordan processerer MSSQL nå du trækker på lagerkart?
Processer? Jeg havde et problem med performance counterne på et tidspunkt,
som betød jeg blev nødt til at gendanne dem manuelt. MSSQL fik jeg ikke med
i den process, så det skal jeg lige finde ud af før jeg kan se detaljerne.
> Hvor mange raidset har du lavet?
2, en 50E og en 10.
> Det kan betale sig at have 4 kanaler hvor man deler tingenen lidt op
4 kanaler?
> Der skulle være noget inspiration her
> http://www.sql-server-performance.com
Taksen.
--
I doubt, therefore I might be.
| |
Peter Lykkegaard (02-08-2004)
| Kommentar Fra : Peter Lykkegaard |
Dato : 02-08-04 14:43 |
|
"Kim Noer" wrote
> 4 kanaler?
>
Ja, en raidcontroller med 4 kanaler
- Peter
| |
Peter Lykkegaard (02-08-2004)
| Kommentar Fra : Peter Lykkegaard |
Dato : 02-08-04 15:53 |
| | |
Kim Noer (02-08-2004)
| Kommentar Fra : Kim Noer |
Dato : 02-08-04 16:01 |
|
"Peter Lykkegaard" <polonline@hotmail.com> wrote in message
news:410e557d$0$230$edfadb0f@dread14.news.tele.dk
>> Ja, en raidcontroller med 4 kanaler
Det er en ServeRaid 5i, så vidt jeg kan se med 4 kanaler, omend, IBM
beskriver den som 'cost-effective zero-channel'.
--
I doubt, therefore I might be.
| |
|
|