Hurtigste (CPU mæssigt) metode at sende jpg
Jeg har et site hvor et script bruger nogle $_GET parametre til at vide hvilket billede der skal vises.Det bruger jeg til at sammensætte en sti hvorefter jeg egenligt bare echo'er den fil : se herunder!
Nå men problemet er at det er rigtig langsommeligt - der er en masse besøgende i disse dage - omkring 20.000 om dagen - måske 150.000 billeder bliver vist inden for 12 timer.
Jeg har en maskine der kun skal gøre dette - Nyere Dell server, 1CPU, 3GB RAM, Win2003 Server, Apache 2 (nyeste), PHP 5 (nyeste)
Men når det kører så er der altså nogle grimme svartider på op imod 10 sekunder for et billede der er omkring 60KB - den står hos PlusHost med rigeligt båndbredde o.s.v.
Kan jeg optimere på det her, eller skal jeg bare gå direkte til billedet istedet for igennem PHP (oprindeligt skulle der lægges et vandmærke på - men det har jeg droppet)
Gode råd ønskes til optimering
$basepath = "D:\\inetpub\\runimages\\";
$size = $_GET['size'];
$eventid = $_GET['event'];
$pic = $_GET['pic'];
$dir = ($size == "thumb" ? "\\thumb\\" : "\\org\\");
$img = $basepath . $eventid . $dir . substr($pic,0,5) ."\\". $pic .".JPG";
if (!is_file($img)) $img = "D:\\inetpub\\404_error.jpg";
header('content-type: image/jpeg');
echo readfile( $img );
