Avatar billede htx98i17 Professor
09. november 2008 - 13:48 Der er 18 kommentarer og
1 løsning

show processlist siger SLEEP

jeg kører en SHOW PROCESSLIST og under overskriften skriver den SLEEP.

Fra mysql.com:
Sleep - The thread is waiting for the client to send a new statement to it

Hvad menes med dette?

Dette spørgsmål er en del af en større fejlfinding til et kææææmpe problem. Derfor så mange point. Desuden regner jeg det for et temmelig svært/nørdet spørgsmål (undskyld til potentielle deltagere)
Avatar billede arne_v Ekspert
09. november 2008 - 15:19 #1
Beskrivelsen er vel OK.

Hver connection til database har en tråd/fork kørende.

Nogle af disse connectiosn er igang med at udføre en SQL kommando andr venter bare.

De kalde henholdsvois "Query" og "Sleep".
Avatar billede arne_v Ekspert
09. november 2008 - 15:19 #2
Har du problemer med for mange connections ?
Avatar billede htx98i17 Professor
09. november 2008 - 15:35 #3
nej bare det var det

nej, jeg har problemer med at når siderne loades, så hænger siden. Jeg har lavet noget log, og den siger at det er mysql_connect() der hænger...

Mens den hænger har jeg kørt show processlist og den siger at tråden SOVER. Så jeg er ved at finde ud af hvordan den sover...

Hvis du har et forslag til hvorfor den hænger så kom med det. Problemet er sporadisk på alle sider. Nogle gange hænger den, andre gange ikke.
Avatar billede htx98i17 Professor
09. november 2008 - 15:38 #4
Du skriver at nogle venter. Men hvad venter den på?
For mig at se begynder den at sove midt under afviklingen af et dokument, hvor den burde afvikle de queries der er i php-dokumentet.
Avatar billede htx98i17 Professor
09. november 2008 - 15:42 #5
Eksempel:

<? //start dokument

log tid

mysql_connect()

log tid // her er der gået op til 30 sek når den hænger

query

log tid

//afslut dokument
?>
Avatar billede htx98i17 Professor
09. november 2008 - 15:54 #6
kan man logge status på tråden?

sådan:

<? //start dokument

log tid i txt

mysql_connect()

log tråd status (her er det jeg påstår at den er gået i SLEEP mode)

log tid i txt// her er der gået op til 30 sek når den hænger

log tråd status

query

log tråd status

log tid i txt

log tråd status

//afslut dokument
?>
Avatar billede arne_v Ekspert
09. november 2008 - 16:01 #7
venter = venter på næste SQL sætning
Avatar billede arne_v Ekspert
09. november 2008 - 16:02 #8
din egen tråd vil aldrig være i Sleep, da den er igang med at udføres SHOW PROCESSLIST !
Avatar billede arne_v Ekspert
09. november 2008 - 16:03 #9
Jeg kan ikke rigtigt se nogle close kald i din pseudo kode.
Avatar billede arne_v Ekspert
09. november 2008 - 16:03 #10
Har du checket load på database serveren ?
Avatar billede htx98i17 Professor
09. november 2008 - 16:14 #11
jeg kører en show process list fra phpmyadmin som har credentials til at se alles tråde. På den måde kan jeg se at den er i sleep.

Jeg har aldrig brugt close. Tror du det har noget at sige?

Jeg kan se load inden for det sidste minut og den er 0.11
Avatar billede htx98i17 Professor
09. november 2008 - 16:17 #12
kan man kalde loggen på en tråd?
Avatar billede arne_v Ekspert
09. november 2008 - 19:44 #13
Hvad programmerer du i ?

Med load mener jeg både procent CPU og IO.
Avatar billede htx98i17 Professor
09. november 2008 - 20:00 #14
Jeg programmere det i PHP.

Den load jeg skrev går jeg ud fra er i procent på CPUen. IO har jeg vidst ikke mulighed for at se. Jeg ved heller ikke hvad det er.
Avatar billede arne_v Ekspert
09. november 2008 - 20:45 #15
Er det et web hotel ?
Avatar billede htx98i17 Professor
09. november 2008 - 20:48 #16
nej det er hosted server. Men som du nok kan regne ud, er jeg ikke servermand :)
Avatar billede arne_v Ekspert
09. november 2008 - 23:40 #17
Jeg tror at du skal have noget info omkring serverens konfiguration og "helbreds tilstand".
Avatar billede htx98i17 Professor
10. november 2008 - 07:00 #18
okay du skal have tak for hjælpen. Lig et svar.
Avatar billede arne_v Ekspert
10. november 2008 - 14:55 #19
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester