![]() |
Synpunkter på min navigerings lösning!
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? |
Ä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. |
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 :) |
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. |
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.
|
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. |
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! :) |
Citat:
|
Citat:
Har en MySQL server som hanterar i snitt 2000 frågor i sekunden, och CPUn jobbar smått märkbart... |
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? |
Alla tider är GMT +2. Klockan är nu 14:27. |
Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson