Ämne: Performance
Visa ett inlägg
Oläst 2004-11-07, 10:05 #17
zorans avatar
zoran zoran är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jun 2004
Inlägg: 598
zoran zoran är inte uppkopplad
Mycket flitig postare
zorans avatar
 
Reg.datum: Jun 2004
Inlägg: 598
Citat:
Ursprungligen postat av kullervo
Citat:
Ursprungligen postat av Mikael Simonsson
image.php:
Kod:
$sFilename = "./image.jpg";
$f = fopen($sFilename, 'rb');

header('Content-Type: image/jpeg');
header('Content-Length: ' . filesize($sFilename));

fpassthru($f);
exit();
Man kan göra koden något snabbare med readfile() istället för att öppna filen manuelt. Om PHP ska använda sig av mySQL för att beräkna behörigheten, kan en anslutning mot databasen som aldrig stängs öppnas. Då slipper man upprätthålla en anslutning samt logga in på mySQL för varje bild.
Man kan dessutom använda sig av mysqli_prepare om man har blivit välsignad med PHP5. Det är något jag saknat i PHP sen länge. Många likadana querys där bara enstaka villkor ändras snabbas upp betydligt med detta. Perfekt för autenticeringssystem.

Sen det där med bilden, hur snabbt det blir beror lite hur PHP är implementerat på servern. Att bara göra en bench utan att tala om något om konfigurationen säger i princip inte ett dyft.

Den överheaden som tillkommer gentemot en "statisk" bild är ju först och främst att sidan måste parsas av PHP-tolken. Om det är CGI-installerad PHP så får man enorm overhead jämfört om man kör FastCGI eller som apachemodul.

Den andra överheaden som tillkommer är hur optimerad din kod är. Det exempel vi såg är den enklaste och som ger minimal overhead. Sen kan det ju vara så att man vill fippla med bilden i sig och då får man använda sig av andra imagefunktioner som säkert ger ännu mer överhead.

/Zoran
zoran är inte uppkopplad   Svara med citatSvara med citat