FAQ |
Kalender |
![]() |
#1 | |||
|
||||
Medlem
|
Har lite problem med en webbplats som vid vissa operationer tar väldigt långt tid på sig. Kan handla om 10-20 sekunder. Det är inga uppenbara fel i koden och har försökt felsöka med att sätta ut lite alerts här å där. Men det är så mycket kod att det blir väldigt jobbigt att ta reda på felet.
Vet att man i andra språk som ex Java kan köra koden steg för steg och se vad som går segt. Men det är ju inte webbaserat, vilket kan skapa lite problem. Finns det något sätt att göra detta i PHP? Jag är inte så hoppfull men lika bra att chansa om någon vet. Ha de fint! |
|||
![]() |
![]() |
![]() |
#2 | ||
|
|||
Medlem
|
Arbetar din webbplats mot tunga databaser?
|
||
![]() |
![]() |
![]() |
#3 | ||
|
|||
Banned
|
Indexera din databas.. Det gör underverk.
Om du använder MySQL, så kör EXPLAIN på frågorna. |
||
![]() |
![]() |
![]() |
#4 | |||
|
||||
Medlem
|
Det är egetnligen inga tunga databaser och tror själv det ligger i phpkodens if satser någonstans. Känns som att när jag kör $_GET och $_POST så segar det. Vet inte om det är att scripten som jag tar emot datan med förutsätter att GET/POST är deklarerade, men så är inte alltid fallet. Kanske kan hjälpa att använda sig mer av isset innan. Vad tror ni om det?
Indexera databasen har jag inte tänkt på, det kan mycket väl snabba upp det lite. Även om jag inte tror att databasen är den stora boven! |
|||
![]() |
![]() |
![]() |
#5 | ||
|
|||
Medlem
|
Låter mysko. Jag har inga erfarenheter av att $_GET eller $_POST skulle sega ner det för en. Det kanske finns några skumma loopar som hela tiden ställer frågor mot databasen? Det skulle krävas tiotusentals if-satser om de skulle vara boven i dramat. Till 95% skulle jag vilja säga att problemet ligger i tabellerna och sql-frågorna. Kör indexering och kontrollera sql-frågorna så du inte ser något skumt.
|
||
![]() |
![]() |
![]() |
#6 | |||
|
||||
Medlem
|
Ok, men då vet jag iallafall! tack för hjälpen, får ta mig en titt på sqlen.
|
|||
![]() |
![]() |
![]() |
#7 | ||
|
|||
Administratör
|
Ett par isset lär inte göra någon märkbar skillnad.
Förmodligen är det just några SQL-frågor. Det låter som om det är en färdig programvara du använder och isåfall har du förmodligen också en databas-klass där du kan skriva ut svarstiderna för frågan. Har kontroll över sql-servern kan du annars slå på slow query log. Är det mot förmodan några dumheter i PHP-koden eller något i den stilen och du dels har väldigt stor kodbas och sedan inte har någon koll på var felet kan finnas kan du använda en PHP debugger. Två gratis sådana är xdebug (xdebug.org) och DBG (dd.cron.ru/dbg).
__________________
eldefors.com - Personlig (teknik)-blogg |
||
![]() |
![]() |
![]() |
#8 | ||
|
|||
Klarade millennium-buggen
|
Om du ligger på webhotell finns det två saker att tänka på. För det första är många mysql-installationer felkonfigurerade och måste slå upp dns hela tiden. Det märker man på att det tar upp till tio sekunder innan sidan laddas.
Nästa grej som kan spöka är överlastade servrar på webhotellen. Dina frågor kastas ut ur cachen och måste läsas in igen. Det tar också tid. Kolla hur snabbt det går lågtrafiktid, typ kl 6 söndag morgon. |
||
![]() |
![]() |
![]() |
#9 | |||
|
||||
Medlem
|
Ok, har egen server dedikerad men problemet kanske kan vara att jag har dåligt med minne iden. Har en del sidor och ligger bara på 1gig i minne nu. Kanske inte är så bra
![]() |
|||
![]() |
![]() |
![]() |
#10 | ||
|
|||
Mycket flitig postare
|
Jag tror faktiskt inte 1GB minne är ditt problem. Som flera sagt tidigare; kolla dina SQL satser. och när du gjort det så kollar du dina SQL satser och sedan dina SQL satser. Det är en mycket stor sannolikhet att ditt problem finns där.
Och et annat generellt tips på vägen: Optimera aldrig för vad du tror, optimera det du vet är ett problem. |
||
![]() |
![]() |
Svara |
|
|