/ 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
Optimering af mysql database
Fra : Anders Lund


Dato : 24-05-03 17:02

Jeg har ansvaret for en mysql-databasen, som er back-end for 2 websider, der
er godt besøgt.



Nu er siderne begyndt at blive periodisk langsomme. Der er selvfølgelig når
den er mest besøgt. Det der sker er at, men må vente op imod 1min på en
side, hvorefter siden kører fint i nogle minutter (nogen gange mindre),
hvorefter man oplever vente tid igen.



Jeg tror det skyldes at vi har mange (understreges) update og insert kald
til tabeller som også er velbesøgt af select kald. Dvs. at meget af tiden er
tabellerne låst, og man kan ikke læse fra dem, pga. update'sne og insert'
sne. Når så tabellen har været låst i et stykke tid, faldet antallet af
updates og inserts, fordi de besøgene ikke kan komme ind på siden, og
databasen kører igen fint.





Spørgsmål:

-Jeg er ikke sikker på at dette er årsagen, er der nogen der har ideer til
hvordan jeg tjekker det?

-Er der nogen der ved hvordan jeg optimere databasen til at håndtere dette
bedre?

-Ville det evt. hjælpe at skifte tabel-type fra myISAM til innodb (herunder
en opdatering til mysql version 4), som skulle være bedre til at håndtere
updates og inserts samtidig med selects?





--
Mvh
Anders Lund
AndersGED@zaim.dk
fjern geden fra min email adresse




 
 
Jimmy (24-05-2003)
Kommentar
Fra : Jimmy


Dato : 24-05-03 17:17


"Anders Lund" <andersGED@zaim.dk> wrote in message
news:bao519$d6f$1@sunsite.dk...

>
>
> Nu er siderne begyndt at blive periodisk langsomme. Der er selvfølgelig
når
> den er mest besøgt.


Har du nogle INDEXes på?

Mvh
Jimmy



Peter Brodersen (24-05-2003)
Kommentar
Fra : Peter Brodersen


Dato : 24-05-03 17:30

On Sat, 24 May 2003 18:01:54 +0200, "Anders Lund" <andersGED@zaim.dk>
wrote:

>-Jeg er ikke sikker på at dette er årsagen, er der nogen der har ideer til
>hvordan jeg tjekker det?

Når den hænger, forbind da til mysql som root, og kør:

SHOW PROCESSLIST;

Her kan du se hvilke queries, der er ved at køre i øjeblikket, og som
tilsyneladende får de øvrige til at hænge.

Mere info om SHOW PROCESSLIST:
<http://www.mysql.com/documentation/mysql/bychapter/manual_MySQL_Database_Administration.html#SHOW_PROCESSLIST>

>Jeg tror det skyldes at vi har mange (understreges) update og insert kald
>til tabeller som også er velbesøgt af select kald. Dvs. at meget af tiden er
>tabellerne låst, og man kan ikke læse fra dem, pga. update'sne og insert'
>sne.

Hvis den decideret hænger i et stykke tid, og ikke blot er sløv, tyder
det rigtigt nok på at nogle tabeller nok er låst.

--
- Peter Brodersen

Peter Brodersen (24-05-2003)
Kommentar
Fra : Peter Brodersen


Dato : 24-05-03 17:33

On Sat, 24 May 2003 18:29:32 +0200, Peter Brodersen <usenet@ter.dk>
wrote:

>SHOW PROCESSLIST;
>
>Her kan du se hvilke queries, der er ved at køre i øjeblikket, og som
>tilsyneladende får de øvrige til at hænge.

... og du kan selvfølgelig også se hvilke queries, der venter på en
låst tabel, for at ku' få lov til at køre.

--
- Peter Brodersen

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

Månedens bedste
Årets bedste
Sidste års bedste