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:
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
User since
2005-12-17
1615
Artikel
HausmeisterIn
Vielleicht könnte
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.
User since
2003-08-21
2614
Artikel
ModeratorIn
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.
User since
2003-11-28
3645
Artikel
ModeratorIn
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.