/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
PHP HTTP upload langsom ? Hvorfor ?
Fra : Sonny W.


Dato : 02-03-03 10:04


Hej - som et hobbyprojekt har jeg opbygget et billedarkiv med
thumbnails og den slags. Ret banalt og bestemt ikke noget særligt. Jeg
bruger Apache 2.0.44, PHP 4.3.1, MySQL og Win2K til at hoste systemet,
og jeg får fin performance undtagen når jeg uploader en fil gennem en
webside.

PHP HTTP uploads har jeg clocket til omkring 39 kilobytes i sekundet,
hvilket er latterligt langsomt. Hastigheden er stort set konstant med
svingninger indenfor plus/minus 5Kb/s, om jeg så bruger IE, NS4,
Mozilla, Opera eller Konqueror. Jeg tester både over localhost og et
100Mbit lokalnet.

Et 4 megabyte source billede tager ved denne hastighed over 100
sekunder, og det er totalt uacceptabelt. Meningen var at det skulle
være et quick&dirty system til at putte billeder i databasen, ikke
noget hvor det tager et kvarter at sende en håndful billeder til ens
lokale PC... jeg har været nødt til at sætte script execution timeout
til 240 sekunder for at ikke tabe tråden under overførsel af store
filer, og så meget tålmodighed har jeg sgu ikke.

HTTP Download hastigheden fra systemet er adskillige megabytes i
sekundet, og denne absurde forskel mellem HTTP up og down er svær at
greje. Ved at Google på Usenet om dette problem har jeg fundet nogle
lignende fejlmeldinger og bemærkninger fra sidste år hvor PHP 4.1 var
lige på trapperne, og det lød som om at problemet skulle være løst med
4.1 ... men jeg kører nu med 4.3 og har stadig problemer.

Er der nogen som har haft tilsvarende oplevelser? Råd? Erfaringer?
Ideer til performance boost? Jeg lavede en hurtig test med (adr!) ASP
og IIS og der fik jeg omkring 800% bedre resultater, som var indenfor
rammerne af det acceptable performance target. Jeg -vil- ikke skifte
til "fjenden", ASP syntax gir mig myrekryb, og hensigten er fortsat at
hoste systemet på Linux når det er færdigbygget. Men det kan jo være
jeg er nødt til at have en ASP/IIS kørende bare for uploads? Det
virker bare som en latterlig Storm-P løsning.

På forhånd tak -- !!!!

Mvh.
Sonny
kobot1000@kobotica.com

PS: Mit test upload script ser iøvrigt sådan ud:

<?
$outMessage = "";
if ($_POST['MAX_FILE_SIZE'])
{
   $toName = "e:\\web\\uploads\\".$_FILES['userfile']['name'];
   $fromName = $_FILES['userfile']['tmp_name'];
   $outMessage .= "Copied: $fromName --> $toName <p> ");
   move_uploaded_file($fromName,$toName);
}
?>

<html>
<body>
<form enctype="multipart/form-data" method="post">

   <input type="hidden" name="MAX_FILE_SIZE" value="30000000">
   <input type="file" name="userfile"> <p>
   <input type="submit" value="Send filen">

   <? echo($outMessage); ?>

</form>
</body>
</html>


 
 
Søg
Reklame
Statistik
Spørgsmål : 177502
Tips : 31968
Nyheder : 719565
Indlæg : 6408537
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste