/ Forside / Teknologi / Hardware / Server / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Server
#NavnPoint
dk 1398
EXTERMINA.. 1330
webnoob 1267
o.v.n. 820
stone47 800
Klaudi 720
severino 580
granner01 580
rotw 500
10  Uffe29 470
Ny hurtig server til MySQL
Fra : Harald


Dato : 15-06-08 21:06

Hej

Jeg skal have lavet en ny server og det vigtigste er at den er hurtig til at
håndtere MySQL. På min nuværende server kan nogle fritekst forespørgelser
tage op til 5 sekunder og det er ikke fordi databasen er særlig stor (80 MB,
ca. 300.000 poster) så mit gæt er at CPU og RAM er for langsom.

Hvad kan anbefales af Bundort, CPU og RAM ?

OS er WindowsXP

Takker

/HK



 
 
Hans Kjaergaard (15-06-2008)
Kommentar
Fra : Hans Kjaergaard


Dato : 15-06-08 21:38

On Sun, 15 Jun 2008 22:05:46 +0200, "Harald" <noname@nomail.dk> wrote:

>Hej
>
>Jeg skal have lavet en ny server og det vigtigste er at den er hurtig til at
>håndtere MySQL. På min nuværende server kan nogle fritekst forespørgelser
>tage op til 5 sekunder og det er ikke fordi databasen er særlig stor (80 MB,
>ca. 300.000 poster) så mit gæt er at CPU og RAM er for langsom.
>
>Hvad kan anbefales af Bundort, CPU og RAM ?
>
>OS er WindowsXP
>
Ikke at jeg ved det mindste om MySQL, men sådan generalt:
Har du overvejet at tune din MySQL, lave index ?
Harddiskhastighed ?
Seperat disk(system) til database / transactionslog /backup ?

/Hans

Harald (15-06-2008)
Kommentar
Fra : Harald


Dato : 15-06-08 21:50

"Hans Kjaergaard" <hans.k2teknik@post5.tele.dk> skrev i en meddelelse
news:s5va54hs3ki31o9vmi4e9j1k69eflkrmv5@4ax.com...
> On Sun, 15 Jun 2008 22:05:46 +0200, "Harald" <noname@nomail.dk> wrote:
>
>>Hej
>>
>>Jeg skal have lavet en ny server og det vigtigste er at den er hurtig til
>>at
>>håndtere MySQL. På min nuværende server kan nogle fritekst forespørgelser
>>tage op til 5 sekunder og det er ikke fordi databasen er særlig stor (80
>>MB,
>>ca. 300.000 poster) så mit gæt er at CPU og RAM er for langsom.
>>
>>Hvad kan anbefales af Bundort, CPU og RAM ?
>>
>>OS er WindowsXP
>>
> Ikke at jeg ved det mindste om MySQL, men sådan generalt:
> Har du overvejet at tune din MySQL, lave index ?
> Harddiskhastighed ?
> Seperat disk(system) til database / transactionslog /backup ?

Der er lavet index, harddisken er en WD VelociRaptor. Raptor disken er lige
blevet sat i og test viser at den er ca. dobbelt så hurtig som den gamle der
sad i men alligevel har tiden på MySQL forespørgelser ikke ændret sig
overhovedet, så derfor tror jeg stadig mest på at det er MB, CPU og RAM der
er langsom.

Det skal siges at når der søges i MySQL basen på en enkelt tabel så tager
søgninger i de 300.000 poster ca. 0.2 sek., det er først når der foretages
fritekst søgninger over flere forskellige tabeller/index at tiden bliver
lidt lang.

/HK



Nicolai (15-06-2008)
Kommentar
Fra : Nicolai


Dato : 15-06-08 22:35

> Der er lavet index, harddisken er en WD VelociRaptor. Raptor disken er
> lige blevet sat i og test viser at den er ca. dobbelt så hurtig som den
> gamle der sad i men alligevel har tiden på MySQL forespørgelser ikke
> ændret sig overhovedet, så derfor tror jeg stadig mest på at det er MB,
> CPU og RAM der er langsom.

Jeg tror det er dårlig database-kode-design. Det har gjort underværker da
jeg havde en sql-gut på her med samme problem.




Harald (15-06-2008)
Kommentar
Fra : Harald


Dato : 15-06-08 23:43

"Nicolai" <spam2005@nifo.dk> skrev i en meddelelse
news:48558b0a$0$56778$edfadb0f@dtext02.news.tele.dk...
>> Der er lavet index, harddisken er en WD VelociRaptor. Raptor disken er
>> lige blevet sat i og test viser at den er ca. dobbelt så hurtig som den
>> gamle der sad i men alligevel har tiden på MySQL forespørgelser ikke
>> ændret sig overhovedet, så derfor tror jeg stadig mest på at det er MB,
>> CPU og RAM der er langsom.
>
> Jeg tror det er dårlig database-kode-design. Det har gjort underværker da
> jeg havde en sql-gut på her med samme problem.

database-kode-design er i orden.

/H



Nicolai (16-06-2008)
Kommentar
Fra : Nicolai


Dato : 16-06-08 07:05

>> Jeg tror det er dårlig database-kode-design. Det har gjort underværker da
>> jeg havde en sql-gut på her med samme problem.
>
> database-kode-design er i orden.

Næppe ;)



Harald (16-06-2008)
Kommentar
Fra : Harald


Dato : 16-06-08 08:33

"Nicolai" <spam2005@nifo.dk> skrev i en meddelelse
news:485602f5$0$56792$edfadb0f@dtext02.news.tele.dk...
>>> Jeg tror det er dårlig database-kode-design. Det har gjort underværker
>>> da jeg havde en sql-gut på her med samme problem.
>>
>> database-kode-design er i orden.
>
> Næppe ;)

Hvorfor tror du ike det, det er en meget simpel database og diverse tuning
guider og mange forslag fra folk der ved noget om den slags er blevet fulgt.
Men jeg modtager gerne nye forslag til forbedringer.

/HK



Asbjorn Hojmark (16-06-2008)
Kommentar
Fra : Asbjorn Hojmark


Dato : 16-06-08 17:30

On Mon, 16 Jun 2008 09:33:02 +0200, "Harald" <noname@nomail.dk> wrote:

> Hvorfor tror du ike det, det er en meget simpel database og diverse tuning
> guider og mange forslag fra folk der ved noget om den slags er blevet fulgt.
> Men jeg modtager gerne nye forslag til forbedringer.

Dengang jeg lærte den slags, sagde min lærer, at hvis man havde brug
for at lave friteks-søgninger, så havde man ikke lavet sit database-
design ordentligt. Det vil jeg meget langt hen ad vejen give ham ret
i.

-A
--
Hvis du bruger et anti-spam program, der spammer os andre i hvert
eneste indlæg, ser jeg ikke dine indlæg. Jeg filtrerer dem bort.

Harald (16-06-2008)
Kommentar
Fra : Harald


Dato : 16-06-08 17:38

"Asbjorn Hojmark" <Asbjorn@Hojmark.ORG> skrev i en meddelelse
news:c65d54151pl3cb9hlicpuh4ml9hhhmrq68@hojmark.net...
> On Mon, 16 Jun 2008 09:33:02 +0200, "Harald" <noname@nomail.dk> wrote:
>
>> Hvorfor tror du ike det, det er en meget simpel database og diverse
>> tuning
>> guider og mange forslag fra folk der ved noget om den slags er blevet
>> fulgt.
>> Men jeg modtager gerne nye forslag til forbedringer.
>
> Dengang jeg lærte den slags, sagde min lærer, at hvis man havde brug
> for at lave friteks-søgninger, så havde man ikke lavet sit database-
> design ordentligt. Det vil jeg meget langt hen ad vejen give ham ret

Det er en bog database hvor der bla. er et text felt hvor der kan stå masser
af tekst i og der skal kunne søges i hele teksten, der er også en titel
tekst hvor man skal kunne søge på de enkelte ord i titlen og det samme
gælder for forfatter navnet. Så jeg kan ikke forestille mig hvordan man
skulle kunne uden om fritekst søgning men nu ved jeg så heller ikke alt om
database design.

/HK



Thomas Eg Jørgensen (16-06-2008)
Kommentar
Fra : Thomas Eg Jørgensen


Dato : 16-06-08 11:25

"Harald" <noname@nomail.dk> skrev i en meddelelse
news:4855761b$0$90269$14726298@news.sunsite.dk...
> Jeg skal have lavet en ny server og det vigtigste er at den er hurtig til
> at håndtere MySQL. På min nuværende server kan nogle fritekst
> forespørgelser tage op til 5 sekunder og det er ikke fordi databasen er
> særlig stor (80 MB, ca. 300.000 poster) så mit gæt er at CPU og RAM er for
> langsom.
>

Hvordan er dit CPU load i de 5 sekunder søgningen kører?

Er du sikker på at dit DB design er 100% optimalt for de søgninger du laver?
Hvis jeg var dig ville jeg bruge ekstra meget tid på databasedesign i stedet
for at smide penge efter hardware...i worst case så hjælper nyt hardware
ikke en dyt...

MVH
Thomas



Harald (16-06-2008)
Kommentar
Fra : Harald


Dato : 16-06-08 12:51

"Thomas Eg Jørgensen" <thomas@killspam.notaplan.com> skrev i en meddelelse
news:48563f84$0$90268$14726298@news.sunsite.dk...
> "Harald" <noname@nomail.dk> skrev i en meddelelse
> news:4855761b$0$90269$14726298@news.sunsite.dk...
>> Jeg skal have lavet en ny server og det vigtigste er at den er hurtig til
>> at håndtere MySQL. På min nuværende server kan nogle fritekst
>> forespørgelser tage op til 5 sekunder og det er ikke fordi databasen er
>> særlig stor (80 MB, ca. 300.000 poster) så mit gæt er at CPU og RAM er
>> for langsom.
>>
>
> Hvordan er dit CPU load i de 5 sekunder søgningen kører?
>
> Er du sikker på at dit DB design er 100% optimalt for de søgninger du
> laver? Hvis jeg var dig ville jeg bruge ekstra meget tid på databasedesign
> i stedet for at smide penge efter hardware...i worst case så hjælper nyt
> hardware ikke en dyt...

CPU load er 100% i de 5 sekunder. Og jeg tror ikke designet kan gøres meget
bedre, det er en meget enkelt base og som tidligere nævnt er det kun når der
søges efter fritekst i flere tabeller på samme tid at der er problemer med
tiden.

/HK



Ukendt (18-06-2008)
Kommentar
Fra : Ukendt


Dato : 18-06-08 10:11


"Harald" <noname@nomail.dk> wrote in message
news:48565396$0$90271$14726298@news.sunsite.dk...
> CPU load er 100% i de 5 sekunder.

Det er et godt bud at det vil gentage sig på nyt hardware fordi din søgning
ikke er optimeret.

> Og jeg tror ikke designet kan gøres meget bedre, det er en meget enkelt
> base og som tidligere nævnt er det kun når der søges efter fritekst i
> flere tabeller på samme tid at der er problemer med tiden.

Det er netop derfor dit design er "forkert". Hvis det var designet til at
være én tabel der blev lavet søgning i, ville resultatet fremkomme hurtigere
(teoretisk, men ofte også praktisk!)

mvh
///M



Harald (18-06-2008)
Kommentar
Fra : Harald


Dato : 18-06-08 10:55

"///M" <nomail> skrev i en meddelelse
news:4858d07a$0$90267$14726298@news.sunsite.dk...
>
> "Harald" <noname@nomail.dk> wrote in message
> news:48565396$0$90271$14726298@news.sunsite.dk...
>> CPU load er 100% i de 5 sekunder.
>
> Det er et godt bud at det vil gentage sig på nyt hardware fordi din
> søgning ikke er optimeret.
>
>> Og jeg tror ikke designet kan gøres meget bedre, det er en meget enkelt
>> base og som tidligere nævnt er det kun når der søges efter fritekst i
>> flere tabeller på samme tid at der er problemer med tiden.
>
> Det er netop derfor dit design er "forkert". Hvis det var designet til at
> være én tabel der blev lavet søgning i, ville resultatet fremkomme
> hurtigere (teoretisk, men ofte også praktisk!)

Sådan lige kort:

Tabel1:
Titel : char
Forfatter : int

Tabel2:
id : int
Navn : char

Forfatter i Tabel1 henviser til id i Tabel2. At samle dette i en enkelt
tabel ville betyde at hvis man ville ændre forfatter navnet så skulle man
ind i alle de tusinder at poster i Tabel1 hvor navnet er brugt og ændre det,
i stedet for kun at skulle ændre det et enkelt sted i Tabel2.
Det ville være forkert design efter min mening.

/HK




Jesper Lund (16-06-2008)
Kommentar
Fra : Jesper Lund


Dato : 16-06-08 17:52

Asbjorn Hojmark wrote:

> Dengang jeg lærte den slags, sagde min lærer, at hvis man havde brug for
> at lave friteks-søgninger, så havde man ikke lavet sit database- design
> ordentligt. Det vil jeg meget langt hen ad vejen give ham ret i.

K*log(N) < N gælder kun for tilpas store N. Hvis tabellen er lille, kan
det ikke nødvendigvis betale sig at indeksere på søgefelterne. Hvis OPs
database kun fylder 80 MB, burde det hele kunne være i memory (dermed
ikke sagt at det ikke kan betale sig at indeksere, og med 300k rækker i
tabellen burde der være en gevinst ved at indeksere, uanset om databasen
ligger i RAM eller på floppydiske).

--
Jesper Lund

Jesper Lund (16-06-2008)
Kommentar
Fra : Jesper Lund


Dato : 16-06-08 17:55

Harald wrote:

> Hvorfor tror du ike det, det er en meget simpel database og diverse
> tuning guider og mange forslag fra folk der ved noget om den slags er
> blevet fulgt. Men jeg modtager gerne nye forslag til forbedringer.

Nu er det her ikke en DB gruppe, men generelt bør du have indeks på de
kolonner som du laver (hyppige) søgninger på. Uden indeks er arbejdet
proportionalt med antal rækker N, mens et indeks gør arbejdet
proportionalt med log(N). Det er groft sagt som forskellen mellem at søge
i en sorteret og usorteret tabel.

--
Jesper Lund

Jesper Lund (18-06-2008)
Kommentar
Fra : Jesper Lund


Dato : 18-06-08 16:50

Harald wrote:

> SÃ¥dan lige kort:
>
> Tabel1:
> Titel : char
> Forfatter : int
>
> Tabel2:
> id : int
> Navn : char
>
> Forfatter i Tabel1 henviser til id i Tabel2. At samle dette i en enkelt
> tabel ville betyde at hvis man ville ændre forfatter navnet så skulle
> man ind i alle de tusinder at poster i Tabel1 hvor navnet er brugt og
> ændre det, i stedet for kun at skulle ændre det et enkelt sted i Tabel2.
> Det ville være forkert design efter min mening.

[vi er vist kommet OT for gruppen]

Og hvad er din søgning? Lad os se et SQL statement.

Jeg går ud fra at id er primary key i Tabel2 (dermed kan du søge på
forfatter id i log(n) tid), men "titel" kan ikke være primary key i
Tabel1 da to bøger har samme titel. Jeg formoder at primary key så er et
løbenummer, og at skal så overveje om der skal være indeks på titel.

Hvis du søger på forekomster af ord midt i titel, er du generelt nødt til
at løbe alle (300k?) rækker i gennem. Det vil ikke hjælpe noget at samle
tabel 1 og 2 (tværtimod vil det være imod god DB design).

--
Jesper Lund

Søg
Reklame
Statistik
Spørgsmål : 177577
Tips : 31968
Nyheder : 719565
Indlæg : 6409071
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste