Just nu i M3-nätverket
Gå till innehåll

MySQL-server prestandaproblem


EricSvensson

Rekommendera Poster

EricSvensson

Tjenamors

 

Vår MySQL-server på www.gon.nu har blivit lite lustig på sistonde.

 

Jag undersökte problemet genom att köra SHOW PROCESSES och kolla vilka queries som tog längst tid på sig.

 

Det var (inte oväntat) en query från forumet som sorterade efter en kolumn med en datumstämpel i som tog längst tid på sig när den stod i läget SORTING RESULT.

 

Jag kom på att jag inte behövde sortera på datumkolumnen utan mycket bättre istället kunde sortera på min primära indexkolumn ID.

 

Men till min förvåning kvarstod problemet.

 

Nu när jag kör SHOW PROCESSES så står samma query på läget SENDING DATA väldigt länge istället, upp emot 20 sekunder ofta.

 

 

Jag har testat att mixtra med miljövariablerna för mysql-servern på olika sätt men jag har inte sett något bättre resultat överhuvudtaget, tvärtom, det har ofta blivit värre när jag ökat diverse cache-värden etc.

 

 

MySQL-versionen är 3.23.54 och är installerad som statisk från en port. Operativsystemet är FreeBSD 4.6.2-RELEASE.

 

 

Det är ju heller nödvändigtvis inte själva MySQL-servern som krånglar utan operativsystemet.

Jag hoppas på att det finns någon som kan tipsa om vad orsaken kan vara och hur jag kan få en lösning på det.

 

Länk till kommentar
Dela på andra webbplatser

EricSvensson

Efter nogrannare undersökningar har jag märkt att processerna lägger sig i en kölista, så för att en senare process skall kunna slutföras måste den tidigare bli klar först.

Det verkar ju lite konstigt tycker jag, att det ska fungera så.

 

Jag stängde ned webservern och testade olika queries och då gick det helt perfekt.

 

Jag kanske hittar en lösning genom att fortsätta läsa hundratals rader dokumentation men jag hoppas på att någon här i forumet kan korta av den processen lite åt mig (och våra besökare).

 

Länk till kommentar
Dela på andra webbplatser

Conny Lundgren

Tror inte att problemet ligger i MySQL utan snarare i dina anrop till den.

 

ett par saker

 

1. döda alltid din connection

2. använd någon connection-pooling

3. kör gärna med disconnected recordsets

 

finns en hel andra tips med, men dessa är de viktigaste.. (nummer 1 särskilt)

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...