[webmin-devel] Webmin 1.320 file upload improvements question
Chris Mckenzie <[email protected]>
| Newsgroups | gmane.comp.web.webmin.devel |
|---|---|
| Message-ID | <04398A2C9F306C4690265C144089972D27E321@sottexch1.corp.ad.entrust.com> |
Hi all.
Long time webmin tinkerer, short time webamin-devel list troller.
I had a question regarding the the improved file upload module and progress
bar window.
* Improved handling of large file uploads so that they are no longer read
into memory by Webmin webserver. Also added a progress bar window for
tracking uploads.
Firstly, my tests have shown that when attempting a file upload to miniserv,
the main miniserv process maynot gobble up memory for the download but the
spawned CGI that's being posted to does.
I wrote a quick test to see if the fix would be suitable for a module I'm
looking at doing. (large file upload) It starts with a simple form:
<form method="POST" action="/test/handleUpload.cgi"
enctype="multipart/form-data">
<input type="file" name="file" id="file" size="20">
</form>
My handleUpload.cgi is pretty straightforward too:
&ReadParseMime();
...
my $fh = new IO::File ">$write_file";
if(defined($fh)) {
binmode $fh;
print $fh $in{'file'};
}
$fh->close();
...
This is the approach taken by Tim Neimueller
(http://www.niemueller.de/webmin/modules/upload/). I assumed the fix was
either transparent to the cgi module using this accepted method, or there's
some newer/different usage I need to use.
I really hope the fix isn't the applet solution found in the new File
module. That's cheating in my book. :-) Though I understand it helped
facilitate the progress bar capability.
If I can properly arrange for the file upload to not consume tons of memory,
I plan to design a progress bar with an IFRAME form post and Ajax. (which
I'll share if I ever get it working)
Here's my top output for a 1.2gig upload. The 1st process is miniserv, while
the 2nd is my handleUpload.cgi. Note the large SIZE and %MEM.
17:20:26 up 6 days, 7:56, 3 users, load average: 2.42, 1.97, 1.29
2 processes: 1 sleeping, 1 running, 0 zombie, 0 stopped
CPU states: cpu user nice system irq softirq iowait idle
total 0.3% 0.0% 15.4% 34.7% 1.3% 48.0% 0.0%
Mem: 382644k av, 378308k used, 4336k free, 0k shrd, 3304k
buff
280172k actv, 51884k in_d, 4868k in_c
Swap: 10241396k av, 1494184k used, 8747212k free 40336k
cached
PID USER PRI NI SIZE RSS SHARE STAT %CPU %MEM TIME CPU COMMAND
22768 root 15 0 5056 1020 652 D 0.0 0.2 0:00 0
miniserv.pl
25332 root 16 0 1181M 254M 420 R 10.9 68.0 8:32 0
miniserv.pl
Any ideas?
Thanks!
- Chris
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier.
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
-
Forwarded by the Webmin development list at [email protected]
To remove yourself from this list, go to
http://lists.sourceforge.net/lists/listinfo/webadmin-devel