Overvåker du arbeidsbelastningen på din server? Hvis ikke, start i dag! Det kan være penger å spare og mulighet for store ytelsesforbedringer.

Ytelsesmåling

Server-ytelse

Har du *nix-basert server kan du bruke kommandoene top -I eller uptime for å sjekke minnebruk og server load. Load under 1 er brillefint, større enn 1 indikerer at serveren har prosesser som må vente – mao. at arbeidsbelastningen kan være for høy.

Script-ytelse

Sjekk tiden det tar å kjøre scriptene og skriv gjerne resultatet til en log-fil. I php bruker jeg en målefunksjon som starter stoppeklokka i begynnelsen av scriptet, stopper på slutten og lagrer til en tekstfil.

Les mer om måling av php-scripts.

Måling av script-ytelse
Eksempel på logfil med dato, tid i sekunder og url.
Profiler-verktøy

Finner du trege scripts, kan et profiler-verktøy være nyttig for å avdekke hvilke deler av scriptet som er treghetens kilde.

Selv har jeg brukt den kommersielle php-utviklingsverktøyet Zend Studio Profiler. Slike verktøy kan være knølete å få satt opp, men kan gi dyrebar informasjon.

Det var dette verktøyet jeg brukte når jeg oppdaget 1001 Spills ytelsesproblem nevnt i innlegget To MySQL-spørringer blir til en.

Zend Studio Profiler
Eksempel på rapport fra Zend Studio Profiler.

Ytelsesøkende tiltak

php-akselerator

Akseleratorer lagrer alle scripts ferdigkompilert i minnet slik at tiden det tar å kjøre scriptet blir minimal.

Installasjon av en PHP-akselerator kan gi god effekt, men dette er selvfølgelig avhengig av hvor mye tid serveren bruker på selve php-scriptene.

Installasjon av eAccelerator på 1001 Spill-serveren ga skuffende lite resultat.

Kan du tenke deg hvorfor?

La det være sagt at problemet ikke lå i eAccelerator, men i en annen prosessorintensiv jobb på serveren.

GZip-komprimering

All trafikk ut fra 1001 Spill gzip-komprimeres. Dette er arbeidskrevende. Ved å endre komprimerings-faktoren til 1 falt loaden på serveren merkbart.

Les om bruk av GZIP i PHP.

For å endre komprimeringsraten kan du bruke:

ini_set(‘zlib.output_compression_level’, 1);


posted by andreeide December 11, 2006 2:13 pm     |     read comments (0)

Leave a Reply