Som besökare på Hamsterpaj samtycker du till användandet av s.k. cookies för att förbättra din upplevelse hos oss. Jag förstår, ta bort denna ruta!
Annons

Php inställningar

Skapad av David, 2011-03-09 15:54 i Webbutveckling & Programmering

1 836
11 inlägg
0 poäng
David
Visningsbild
P Hjälte 1 555 inlägg
0
Jag har en snabb fråga, Om jag har en hemsida kodad i php med en inställnings sida för tex. "Visa dina vänner på startsidan". Vad skulle vara bäst och snabbast att göra?
1. Att när man loggar in sätts en session med den inställningen.
2. Att göra en check i databasen varje gång startsidan laddas.
3. Att spara i en cookie när man loggar in.
Tacksam för svar :P

Ingen status

Är reklamen ivägen? Logga in eller registrera dig så försvinner den!

Tvillingen
Visningsbild
P 31 Hjälte 3 117 inlägg
0
Du kan lika gärna sätta det i en session, för annars blir det bara onödiga databasfrågor. Att använda kakor istället för sessions är onödigt då sessionID sparas som en kaka.

Jag är ond!

Anonymmedlem
Visningsbild
Bitter 9001 inlägg
0
Hamsterpaj är byggt efter pricip 1. Loginen sätter en massa information och varje gång man ändrar informationen i settings så uppdateras också sessionen (samt dbn).
David
Visningsbild
P Hjälte 1 555 inlägg
Trådskapare
0

Svar till moodh [Gå till post]:
En annan sak jag funderat på, hur fungerar hamsterpajs online/offline koll? :P

Ingen status

Anonymmedlem
Visningsbild
Bitter 9001 inlägg
0
Vi har en memcached-array som håller koll på vilka som är inloggade. Det är rätt avancerat. :)
David
Visningsbild
P Hjälte 1 555 inlägg
Trådskapare
0

Svar till moodh [Gå till post]:
Och en sista sak, varje gång man refreshar sidan. Hämtas alla nya forumstrådar på nytt ifrån databasen då?
Blir det inte en jäkla massa trafik?

Ingen status

Anonymmedlem
Visningsbild
Bitter 9001 inlägg
0
Svar till David [Gå till post]:
Nä, vi har cronjobs som populerar memcached-arrays med all data som hämtas från ram-minnet.

Cronjobbet körs 3 gånger i minuten och uppdaterar alla notiser. Även nya inlägg / Lästa inlägg uppdaterar arrayen så det blir lite mer realtid.



Tillägg av moodh 2011-03-09 17:29

Du kan se Hamsterpajs kod på http://svn.hpdev.se :)

cower
Visningsbild
P 44 Lund Hjälte 1 042 inlägg
0
Svar till moodh [Gå till post]:
Har ni inte ett databasprogram som automatiskt håller kvar tabeller som accessas ofta i minnet? Eller för den delen så kommer kärnan att hålla kvar själva databasfilerna i minnet. (Antar att servern inte kör Windows eftersom den uppenbarligen har cron.)

Har ni gjort några mätningar av prestandaskillnader mellan den approachen och att köra direkt mot databasen? Det skulle vara intressant att veta vad det gjort för skillnad för er.

Anonymmedlem
Visningsbild
Bitter 9001 inlägg
0

Svar till cower [Gå till post]:
Att köra ett par queries från webservern till db-servern tre gånger i minuten är väl rätt uppenbart snabbare än att låta flera tusen requests i sekunden anropa databasen, eller hur? =) Den hade dött på några sekunder.

Vårt mål är att hålla selects nere så mycket som möjligt, därför har vi 1.5gb memcached-server bredvid mysql-servern. Visst kan vi köra MEMORY i mysql men då blir vi fortfarande inte av med allt tryck mysql-servern hade fått utstå, något som memcached-servern är extremt mycket bättre på.

Totalt körs ungefär 500 selects i minuten av cronjob:et, vårt cron tar ungefär 5 sekunder totalt. Detta ersätter ungefär 100k selects om vi hade kört utan cron-lösningen. Bara framsidan utan cron är ungefär 40-60 queries. :)

cower
Visningsbild
P 44 Lund Hjälte 1 042 inlägg
0
Svar till moodh [Gå till post]:
"Att köra ett par queries från webservern till db-servern tre gånger i minuten är väl rätt uppenbart snabbare än att låta flera tusen requests i sekunden anropa databasen, eller hur? =)"
Inte självklart, det beror på datastrukturerna ni har i memcached, tabellstrukturen, uppbyggnaden på databasförfrågningarna, inställningarna för databasservern och koden som arbetar mot de cachade datastrukturerna. Det är väl värt att betänka att ganska mycket utvecklingsarbete är lagt på att få databasservern bra på att hantera sådana belastningar.

En select behöver inte ta längre tid än motsvarande operation i den cachade datastrukturen, den kan mycket väl gå snabbare. Det beror helt på vad man designat bäst (tabellstruktur + SQL-kod eller cachade datastrukturer + kod som arbetar på dem). Men visst, om båda är väldesignade så kan man nog vinna en del på att inte behöva kopiera så mycket data fram & tillbaka.

Som sagt, det hade varit intressant att veta om ni gjort några mätningar av något slag. (För ni har väl inte bara resonerat "det är uppenbart snabbare, eller hur"?)

Anonymmedlem
Visningsbild
Bitter 9001 inlägg
0
Generellt har vi satt som gräns att alla queries över 0.0005 ska cachas medan de under körs direkt mot databasen. Framsidan har som krav att inte köra något mot databasen alls då sql-servern helt enkelt hade crashat om den behöver köra lika många (eller fler) queries som sidladdningar.

HP är uppbyggt av tre versioner, den nyare är striktast medan de andra två kör lite fler udda queries, men det är saker vi bearbetar bort hela tiden.

Du kan ju jämföra hastigheterna mellan http://hamsterpaj.net/ och http://m.hpdev.se/ så ser du skillnaderna på laddningstid :)

Forum » Datorer & IT » Webbutveckling & Programmering » Php inställningar

Ansvariga ordningsvakter:

Användare som läser i den här tråden just nu

1 utloggad

Skriv ett nytt inlägg

Hej! Innan du skriver om ett potentiellt problem så vill vi påminna dig om att du faktiskt inte är ensam. Du är inte onormal och världen kommer inte att gå under, vi lovar! Så slappna av och gilla livet i några minuter - känns det fortfarande hemskt? Skriv gärna ner dina tankar och frågor, vi älskar att hjälpa just dig!

Den här tråden är äldre än Rojks drömtjej!

Det senaste inlägget i den här tråden skrevs för över tre månader sedan. Är du säker på att du vill återuppliva diskussionen? Har du något vettigt att tillföra eller passar din fråga i en ny tråd? Onödiga återupplivningar kommer att låsas så tänk efter en extra gång!

Hjälp

Det här är en hjälpruta

Här får du korta tips och förklaringar om forumet. Välj kapitel i rullningslisten här ovanför.

Rutan uppdateras automagiskt

När du använder funktioner i forumet så visas bra tips här.


Annons
Annons
Annons
Annons