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)
Annonceindlæg fra Asus
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".
09. november 2008 - 15:19
#2
Har du problemer med for mange connections ?
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.
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.
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 ?>
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 ?>
09. november 2008 - 16:01
#7
venter = venter på næste SQL sætning
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 !
09. november 2008 - 16:03
#9
Jeg kan ikke rigtigt se nogle close kald i din pseudo kode.
09. november 2008 - 16:03
#10
Har du checket load på database serveren ?
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
09. november 2008 - 16:17
#12
kan man kalde loggen på en tråd?
09. november 2008 - 19:44
#13
Hvad programmerer du i ? Med load mener jeg både procent CPU og IO.
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.
09. november 2008 - 20:45
#15
Er det et web hotel ?
09. november 2008 - 20:48
#16
nej det er hosted server. Men som du nok kan regne ud, er jeg ikke servermand :)
09. november 2008 - 23:40
#17
Jeg tror at du skal have noget info omkring serverens konfiguration og "helbreds tilstand".
10. november 2008 - 07:00
#18
okay du skal have tak for hjælpen. Lig et svar.
10. november 2008 - 14:55
#19
svar
Computerworld tilbyder specialiserede kurser i database-management