FAQ |
Kalender |
![]() |
#1 | ||
|
|||
Flitig postare
|
Hej gott folk!
Vill bar aha lite åsikter på en php navigerings class jag gjort precis. Den är ganska enkel, men tjänar man mycket på det? När en användare besöker sajten så körs classen; 1. Ansluter till mysql och hämtar hem menyn 2. Sparar menyn som json i en sessions variabel 3. Visar menyn för besökaren När besökaren sedan surfar vidare på sidan så kollar classen om menyn är "cachad" och laddar i så fall in menyn via sessions variablen som json som sedan görs om till meny och visas. Är det onödigt eller är det bra avlastning från mysql? Plus minus? |
||
![]() |
![]() |
![]() |
#2 | ||
|
|||
Klarade millennium-buggen
|
Är MySQL flaskhalsen på din sida så bör du nog se över dina frågor till MySQL.
Att lagra något sånt här i sessionen anser jag onödigt. Sessioner lagras som standard på disk, och disken är oftast en större flaskhals än MySQL, eftersom MySQL lagrar oftast i minnet. |
||
![]() |
![]() |
![]() |
#3 | ||
|
|||
Har WN som tidsfördriv
|
Det är väl en bra lösning, bättre än att hämta den varje gång från databasen.
En ännu bättrelösning är att spara variabeln med något cache-system så kan alla besökare läsa direkt från minnet ist för att slå upp i databas en gång. Dock räcker din lösning en bra bit om du inte sitter på en extremt trafikerad sida ![]() |
||
![]() |
![]() |
![]() |
#4 | |||
|
||||
Har WN som tidsfördriv
|
Hur ofta ändras menyn? Är menyn individuellt anpassad?
Min tanke är att det räcker med en menycache för alla användare, istället för att varje session ska ha sin meny. |
|||
![]() |
![]() |
![]() |
#5 | ||
|
|||
Flitig postare
|
Så länge du inte har bevisat för dig själv att optimeringen har en mätbar effekt och att den verkligen behövs är det bara onödigt. Om du kommer fram till att du behöver cachning, kolla på memcached som är en mer holistisk och robust lösning än att handknacka en egen specialcache.
|
||
![]() |
![]() |
![]() |
#6 | ||
|
|||
Klarade millennium-buggen
|
Har du mätt vioken effekt din lösning har?
Troligen helt meningslös, då 99,9% av den tid som "konsumeras" är väntetid på att användaren ska agera. |
||
![]() |
![]() |
![]() |
#7 | |||
|
||||
Flitig postare
|
Citat:
Citat:
Citat:
Ett helt annat alternativ skulle, så länge menyn inte anpassas efter besökaren vara att skapa en statisk html-fil varje gång menyn ändras. Detta kräver dock att man skriver och skapar en fil varje gång menyn ändras. Tack för tankarna! ![]() |
|||
![]() |
![]() |
![]() |
#8 | ||
|
|||
Flitig postare
|
Nej, jag har inte mätt effekten, svårt att mäta skulle jag tro utan att servern är belastad. Tanken är väll att det skall vara mätbart och avlasta mysql när besökarna är uppe mot ett par tusen. Tror du inte att det skulle vara mätbart då? Mår inte MySQL servern bra av att få ett par tusen anrop mindre?
|
||
![]() |
![]() |
![]() |
#9 | ||
|
|||
Klarade millennium-buggen
|
Citat:
Har en MySQL server som hanterar i snitt 2000 frågor i sekunden, och CPUn jobbar smått märkbart... |
||
![]() |
![]() |
![]() |
#10 | ||
|
|||
Flitig postare
|
Citat:
Men även om MySQL kan klara av flera tusen anrop per sekund så finns det väll ingen anledning att inte optimera för den delen? |
||
![]() |
![]() |
Svara |
|
|