XUpload - xupload performance / simultaneous uploads /server load

Message
Author
watcha
Posts: 12
Joined: Oct 08, 2006 1:08 am

xupload performance / simultaneous uploads /server load

#1 Postby watcha » Oct 08, 2006 1:33 am

Hello,
I just found xupload at http://www.programurl.com/software/big-file-upload.htm.
Currently Xupload is my favorite.

As I plan to provide the upload functionality to a wide range of users I have some questions.

1.) Does xupload support to upload files from multipe users at the same time? Is there a limit or is the limit only up to my servers connections?

2.) Do you know how much resources (CPU / MB etc.) XUpload requires for one upload by one user?

3.) Would XUpload support to enable uplad by e.g. 30 Users or would this fail because of not enough Server Power?


4.) Do you have some general information about the upload performance?


Thank you very much in advance.
With kind regards
liveimage.de

User avatar
PilgrimX182
Posts: 2186
Joined: Mar 22, 2006 1:39 pm

#2 Postby PilgrimX182 » Oct 10, 2006 5:41 am

1) Sure. Any amount of users you want. XUpload use 2 connections(upload & progress bar) The limit is only up to your server connections.

2) XUpload using less memory & CPU than usual perl upload scripts cause not copying uploaded temp files, but renaming & moving them.(copying huge files take much resources and time). Progress bar script is optimized to use small CPU. Moreover you can tune it's CPU usage, I will tell you the way if you need this.

3) This depends on your server configuration and users upload speeds. It's Apache that use most CPU cause it handle uploads. So we can't tune upload process CPU usage, only progress bar. On our local server(PentiumD 2.5GHz) upload with 5Mb/sec of 300Mb file used ~50% CPU, but on remote server with lower upload speed it takes about 4-6%. So I guess it's all about upload speed. You can limit it with Apache bandwidth to lower CPU usage by multiple users.

watcha
Posts: 12
Joined: Oct 08, 2006 1:08 am

#3 Postby watcha » Oct 10, 2006 11:32 am

Thank you very much for your proficient answers.

Regarding tuning CPU for progressbar. Which modifications does it require? Mods on Apache? This is not possible for me as I have currently shared hosting. Modifications in Perl Script? I do not have enogh programing skills :)
PilgrimX182 wrote: 2) ... Moreover you can tune it's CPU usage, I will tell you the way if you need this.

User avatar
PilgrimX182
Posts: 2186
Joined: Mar 22, 2006 1:39 pm

#4 Postby PilgrimX182 » Oct 11, 2006 6:15 am

No skills required :D
In upload_status.cgi find this string:

Code: Select all

select(undef, undef, undef,0.05);
0.05 is delay there. Much this delay, less CPU will take progress bar.
But once again, most part of CPU will eat Apache since it handles uploads.

watcha
Posts: 12
Joined: Oct 08, 2006 1:08 am

#5 Postby watcha » Oct 12, 2006 8:34 pm

I 've set delay to 1.05.
And the upload values are anyway refreshed like realtime.
What is the delay unit? Can you explain it a little bit please?

- What does the delay do?
- Is there a value you recommend? I mean which is acceptable for the end user and also lowers cpu use best?

Thank you very much in advance.

User avatar
PilgrimX182
Posts: 2186
Joined: Mar 22, 2006 1:39 pm

#6 Postby PilgrimX182 » Oct 13, 2006 5:23 am

It's not like science, I tested some delays and looked on upload_status.cgi CPU load. 0.05 was ok for me. Haven't tested on multiple progress_bars. But 1.05 is enough to lower CPU load a lot for sure.

watcha
Posts: 12
Joined: Oct 08, 2006 1:08 am

#7 Postby watcha » Oct 13, 2006 3:44 pm

cool, thank you very much!