Schrift
[thread]845[/thread]

Dateien senden über Perl: ressourcenschonende Methoden gesucht



<< >> 4 Einträge, 1 Seite
Gast Gast
 2006-11-27 21:25
#9106 #9106
Hallo,

ich möchte Dateien mit Perl senden und das möglichst kontrolliert! D.h. ich will die Downloadspeed der User damit regulieren.

Bisherige Code:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
print "Content-Type: $type\n";
print "Content-Length: ",(-s $file),"\n";
print "Content-Transfer-Encoding: binary\n";
print "Content-Disposition:attachment;filename=$fname\n\n";


open(FILE,$file) || die"Error1($file) $!";
my ($buf,$rd);
while($rd=read(FILE,$buf,1024*$speed))
{
print $buf;
sleep 1;
}


Doch dieser Code treibt den Load des Servers extrem in die Höhe! Gibts eine Möglichkeit ressourcenschonender Dateien zu senden? Bin für jede Hilfe dankbar!

Matthias
bloonix
 2006-11-27 22:13
#9107 #9107
User since
2005-12-17
1615 Artikel
HausmeisterIn
[Homepage]
user image
Vielleicht könnte CPAN:CGI::UploadEasy was für dich sein...
What is a good module? That's hard to say.
What is good code? That's also hard to say.
One man's Thing of Beauty is another's man's Evil Hack.
betterworld
 2006-11-27 22:17
#9108 #9108
User since
2003-08-21
2613 Artikel
ModeratorIn

user image
Der Code sieht eigentlich nicht so aus, als ob er nicht ressourcenschonend ist. Aber man sollte auf Ausgabepufferung aufpassen.
Es gibt dann noch mod_throttle (oder so aehnlich) fuer Apache.
ptk
 2006-11-28 00:53
#9109 #9109
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Eine hohe Load muss nicht Anzeichen für eine beschäftigte CPU sein. Andere Faktoren können auch eine hohe Load erzeugen, z.B. wenn zu viel geswappt wird oder wenn viele Prozesse bei hoher Netzbelastung darauf warten, ihre Netzpakete loszuwerden. Manchmal ist eine hohe Load sogar recht unkritisch.
<< >> 4 Einträge, 1 Seite



View all threads created 2006-11-27 21:25.