/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
mySql/W2K CPU-forbrug
Fra : Kim Jensen


Dato : 29-09-01 12:47

Hej!

Jeg kører mySql (3.23.38) på en Windows 2000 server og tilgår den gennem
myODBC (2.50.37) fra nogle ASP-sider samt gennem Windows Scripting.

Der er langt overvejende tale om meget simple select statements på en
database der er under 10MB, men tilsyneladende tager hvert query ufattelig
meget cpu-tid. Iflg. hvad jeg kan se i min TaskManager, bruger mySqld-nt.exe
processen 100% cpu-tid i 1-2 sekunder for hver query! (Det kører på en 650
MHz Celeron).

Det skal lige siges, at serveren ikke er stort belastet af andre ting. Efter
ca. 270 timers oppetid på serveren, har SystemIdle processen haft ca. 180
timers CPU-tid (altså en hel del idle'ing mens mySqld'en har haft hele
86 timers cpu-tid. Resten til øvrige småting. Min graf over Performance i
TaskManager er groft sagt en vandret streg i 0% cpu, men med peaks af 100%
af varierende bredder.

Er det normalt, at cpu-forbruget er på denne måde?
Jeg er ikke den store ekspert ud i mySql - er der noget jeg kan configge
anderledes eller noget jeg skal holde øje med?


--
Med venlig hilsen
Kim Jensen
____________________________________________
litewerx.com // kelvin8.com // newscaster.dk





 
 
Nikolaj Hansen (30-09-2001)
Kommentar
Fra : Nikolaj Hansen


Dato : 30-09-01 11:24

Hvis der er en ren db server er det så ikke også det forbrugs mønster du
er ude efter?

Når der køres et query gives der 100% af systemet til dbms. Det lyder da
helt ok?

Kim Jensen (30-09-2001)
Kommentar
Fra : Kim Jensen


Dato : 30-09-01 12:10

"Nikolaj Hansen" <barnabasdk@yahoo.dk> wrote in message
news:MPG.1621113fd41efa64989696@news.stofanet.dk...
> Hvis der er en ren db server er det så ikke også det forbrugs mønster du
> er ude efter?

Jo for så vidt. Problemet er blot, at serveren også kører en FTP-service, og
tilsyneladende er DB'en cpu-forbrug skyld i, at FTP'en giver timeouts og
halvdårlig performance. Jeg har nu prøvet at ændre FTP-servicens taks
priority, og afventer nu at se, om det hjælper.

Det der blot undrer mig er, at mySql'en bruger SÅ meget cpu-tid i SÅ lang
til. Den table der selectes i har ikke mere end ca. 60.000 poster. Det burde
vel ikke tage 2 sekunders fuld cpu-tid at selecte de 1000 nyeste poster og
sortere dem på et numerisk ID-felt. Eller tager jeg fejl?


--
Med venlig hilsen
Kim Jensen
____________________________________________
litewerx.com // kelvin8.com // newscaster.dk



Heikki Tuuri (30-09-2001)
Kommentar
Fra : Heikki Tuuri


Dato : 30-09-01 16:11

Hi!

Kim Jensen wrote in message <9p6uhn$2gcn$1@news.cybercity.dk>...
>"Nikolaj Hansen" <barnabasdk@yahoo.dk> wrote in message
>news:MPG.1621113fd41efa64989696@news.stofanet.dk...
>> Hvis der er en ren db server er det så ikke også det forbrugs mønster du
>> er ude efter?
>
>Jo for så vidt. Problemet er blot, at serveren også kører en FTP-service,
og
>tilsyneladende er DB'en cpu-forbrug skyld i, at FTP'en giver timeouts og
>halvdårlig performance. Jeg har nu prøvet at ændre FTP-servicens taks
>priority, og afventer nu at se, om det hjælper.
>
>Det der blot undrer mig er, at mySql'en bruger SÅ meget cpu-tid i SÅ lang
>til. Den table der selectes i har ikke mere end ca. 60.000 poster. Det
burde
>vel ikke tage 2 sekunders fuld cpu-tid at selecte de 1000 nyeste poster og
>sortere dem på et numerisk ID-felt. Eller tager jeg fejl?


It should not take that much CPU. The MySQL optimizer tends to
do the sorting too early, and you may be actually sorting all the
60 000 posts in your query. Look with

mysql> EXPLAIN SELECT yourqueryhere;

how it optimizes the query. Try to create an index so that it picks
only the 1000 rows for sorting. As a last resort you may create a
temporary table, select the data set there, and use an ORDER BY
to select from that temporary table. Then drop the temporary
table.


I will look in coming weeks to the MySQL ORDER BY optimization.
So many people are complaining about it.

>--
>Med venlig hilsen
>Kim Jensen
>____________________________________________
>litewerx.com // kelvin8.com // newscaster.dk


Sorry for not posting in Danish :). I can read Danish, but
only write in Swedish.

Regards,
Heikki Tuuri
http://www.innodb.com




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

Månedens bedste
Årets bedste
Sidste års bedste