Gå til innhold

PHP og ytelse på hjemmeserver


Anbefalte innlegg

Hei, jeg tenkte på å skrive noe php som lager en innholdsfortegnelse av hvor man befinner seg på en webside (en slags sitemap/meny som inkluderes i en egen div på hver side, og da forandrer seg ettersom hvilken side man ser på slik at man hele tiden har oversikt over hvor man befinner seg).

 

Programmeringsmessig tror jeg nok jeg klarer å lage dette, men det jeg lurer på er om dette er praktisk med hensyn på ytelse. Dette skal stå på en hjemmemaskin som også fungerer som lokalt lagerplass og en relativt stor database (som ikke brukes så mye forsåvidt).

 

Altså hvor mye press kommer nevnte skript til å legge på maskina? Hvor mange sidenedlastinger pr tidsenhet snakker vi før det vil gå tregt? Er det mye å tjene på å gjøre det manuelt (altså skrive menyen manuelt i hver side)?

Lenke til kommentar
Videoannonse
Annonse

Jeg prøvde å ikke fokusere på selve implementasjonen da det ikke er det jeg lurer på - er det ikke mulig å si noe om ytelsen sånn ca uansett? Men here goes:

 

Litt vanskelig å si noe mer da jeg ikke har kodet enda, men tenker meg altså at alle sidene ligger i en mappestruktur. Det kan feks se slik ut

/index.php

/about/contact.php

/about/history.php

/news/archive.php

/news/news.php

 

og så videre. Hvis man feks er i archive, tenke jeg at skriptet da kjørte i gjennom mappene og bare søkte på hvilke filer de forskjellige mappene inneholder, slik at den ville lage linker (titler legger jeg feks i en konstant array) automatisk. Output, hvis man befinner seg på archive ville da sett ca sånn ut:

 

Home
^About
>News
  >Archive
  -Recent

 

Vil gjette på at koden ihvertfall ikke vil bli på mer enn en side.. Men blir jo endel ifs og løkker osv..

Lenke til kommentar

Dette bør da strengt tatt ikke gå noe særlig ut over ytelsen i det hele tatt. Du kan jo sjekke selv, ved å telle millisekunder det tar for en site å laste, så implementere sitemapen og så telle millisekunder igjen. Det vil gi deg en god indikasjon.

Lenke til kommentar

Takk.

Jeg har ikke aning om hvor mye php krever, derfor jeg spurte for å være sikker. Hadde jo en følelse av at det ikke er noe problem, men spurte særlig fordi dette kjører på en maskin som til tider er belastet med andre ting. Men da ser det jo lyst ut :)

Lenke til kommentar
Hmm eventuelt.. bare for interesse... hvordan kunne jeg cachet bare en array / noen variabler så de ikke ble lastet ut og inn igjen på hver side man gikk inn på?

9256266[/snapback]

 

Du kan lagre dem i flatfiler selv (bare å bruke serialize()/unserialize() for å beholde datastrukturene og så dump filen med file_put_contents()). Bruk så filemtime() for å sjekke hvor lenge det var siden cachefilen ble skrevet på hver etterfulgende forespørsel, for å unngå at cachen blir utdatert. Hvis time() - filemtime($filnavn) > $cache_tid, må cachen overskrives med nye data. :)

 

Eksempelkode på veldig enkelt cachesystem kan du finne her, i et enkelt script som leser ut antall nedlastinger fra sourceforge. Caching var nødvendig fordi det tok i overkant av 300ms bare å hente siden fra sourceforge for å hente ut data, og jeg ønsket å spare sourceforge for unødvendig trafikk. :)

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...