Multi threaded uploads
Frode
Registered Users Posts: 19 Big grins
Any third party way to do this? I've always gotten horrible upload speeds to Smugmug, but with the increase in image size and now also video, the inability to upload multiple files simultaneously is killing me.
At 140KB/s upload (less than 1/20th of my available upload speed), and gigabytes worth of data to upload, it's taking forever and then some. The bandwidth is there all the way, there's nothing in particular wrong that me or support can see, it's just a factor of the protocols and latency limiting the potential throughput of a single connection. It's an issue I face quite often, and adding connections always solves it, but last I spoke to Smug support they had no plans to implement it.
I vaguely remember seeing mention of a third party application that might be able to do this, but I can't recall where I saw it or a name to google for.
Any suggestions would be welcome.
At 140KB/s upload (less than 1/20th of my available upload speed), and gigabytes worth of data to upload, it's taking forever and then some. The bandwidth is there all the way, there's nothing in particular wrong that me or support can see, it's just a factor of the protocols and latency limiting the potential throughput of a single connection. It's an issue I face quite often, and adding connections always solves it, but last I spoke to Smug support they had no plans to implement it.
I vaguely remember seeing mention of a third party application that might be able to do this, but I can't recall where I saw it or a name to google for.
Any suggestions would be welcome.
0
Comments
http://www.starexplorer.com/
On dgrin at Star*Explorer Thread.
--- Denise
Musings & ramblings at https://denisegoldberg.blogspot.com
--- Denise
Musings & ramblings at https://denisegoldberg.blogspot.com
I'll look around it a bit more the next day or two, then make a post once I feel confident I'm not overlooking an obvious option somewhere. Thanks again.
I have three cable modems, each capable of 25m/5m. These are connected to a Cicso rv016 router. This router is capable of handling 7 internet connections and using them all simultaneously. To do this, it basically checks which connection is most free and put the requested traffic on that connection. It's a rudimentary round-robin type of load balancing, but it's very effective.
To max out a single one of my modems at 5m upload, I have to have 4 uploads running. So to max out all 3 modems, I have to have 4*3=12 connections simultaneously. Manually setting up these uploads is a pain, but it's something I'm used to. What would be really nice is to use something like the Filezilla FTP client, which automatically uses as many connections as you specify. You don't have to manually load balance your uploads. This is why I want FTP. I've created an option for it here:
http://smugmug.uservoice.com/forums/17723-smugmug/suggestions/294159-ftp-uploading?ref=title
Vote for it if you think this would help you too.
Want faster uploading? Vote for FTP!
I don't get why Smugmug doesn't implement this officially. This is a well known issue when combining today's broadband connections and geographic distance. Considering the sizes of the images nowadays (I'm struggling to stay below 12MB myself, for my Power account), it's long overdue.
I realize there's more complexity to doing video files properly, multithreading a single file is a lot more complicated than just doing a whole image in each thread. But I don't get why it hasn't been implemented for images in the standard uploader years ago.
Try SmugLoader. One of the advertised features is up to 7 concurrent uploads. Please report back your results. I'm sure the author would appreciate the feedback.
Want faster uploading? Vote for FTP!
FWIW, S*E uses up to 7 threads. If you add only two files to the queue, it will use two, since there is no need for more. If you add more, it will automatically engage more. You can configure the range of threads from 1 to 7. From my experience, 7 threads saturates even the fastest connections (if you look at the network performance chart there is no pauses). I can increase amount of threads, but thus far I didn't really see a need for it.
I need to use pretty much all 16 threads to saturate my bandwidth with KomodoDrop by the way, so I would assume the same to be true for S*E. If I had one of the faster connections even that would not be enough.
Edit: I should point out I did verify the amount of threads was set to 7 at the time. I concluded it meant something other than upload threads since I could only see two being used.
Would you mind posting a screenshot of the taskmanager network performance tab showing S*E uploading, say, 24 mid-sized files (1..5mb each) so I can see the pauses between the threads?
And also similar screen shot from KomodoDrop ( for the same files, naturally)?
You can post it here ot send it to me via email...
TIA!
Want faster uploading? Vote for FTP!
Up to 100 threads, and you can configure how many of them are simultaneous. You'd have to play with your specific conditions, since the best results depends on many things (SM being busy or not, file size = response time, bandwidth). The idea is to kinda saturate your bandwidth with the minimal amount of simultaneous threads (if you add more than that, they will become crowded and overal performance will drop), yet have enough total threads so there is no wait period when the active ones are done with the upload and are simply waiting for results.
My own test results (for my new 35/35 FiOS): 19 files, 102Mb total.
7 total, 1 uploading (essentially, the current "Seven Dwarves" edition): 1m:24s, 15%..17% bandwidth saturation
8 total, 4 uploading (several tests): 0:50s..0:59s, 35%..40% saturation
30 total, 20 uploading (since there were only 19 files it means all threads were uploading at the same time):1:01s, ~40% saturation
25x4, 12x4 - about the same as 8x4.
So, generaly I could get 30% speed increase. Naturally, effect will be different on larger batch volumes and different file sizes.
At any rate - you are now in control. The magic settings are in the Upload tab.
EDIT: don't forget to tweak your registry: http://support.microsoft.com/kb/282402
Want faster uploading? Vote for FTP!
VERY NICE upgrade Nikolai! This is a very fast version of SE. My 2000+ albums load in a very acceptable time, the multiple threads (right now only set to 12) seem to max out pretty well, and it seems to address every issue that kept SE from being my uploader of choice. I'm testing a 380MB upload and it should be done by the time I post this. I like how adding images to an album takes less time than with SM's default uploader. This used to kill quite a bit of time. And now I can set all my album uploads at one time. Kudos!
Want faster uploading? Vote for FTP!
By default IE is set to have only 2 connections to a server (IE8 increased this amount to 6). This means, that "out of the box" having more than 2 (6) simultaneous threads wouldn't do you any good, since they would be blocked at the OS level (S*E uses IE internals, called wininet)
Here is Microsoft article explaining how to overcome this obstacle
http://support.microsoft.com/kb/282402
There are plenty similar ones if you don't like this particular explanation.
So naturally, the amount of simultaneous threads should match this setting. If you want 20 upload threads going in parallel - set the registry to 21..22 (just in case you want to browse SM at the same time:-).
The total amount of threads should be chosen from the fact that once "uploading" threads reach the waiting point and thus stop being "uploading", there should be enough threads in the "pool" to start uploading and keep the bandwidth occupied while those in wait state get through (the latter depends mostly on file sizes and how busy SM servers currently are).
All in all, it does require some playing around to find the optimal configuration for your particular case. Obviously, 0.7mbps dsl and 3x20mbps cable modems would have very different optimal configurations. But it's all up to you.
I would say, in any case the amount of simultaneous threads should not exceed 30%, mayby 50% of total. Use Task Monitor Networking tab to observe the pattern and decide what is the best for you.
Remember: S*E automatically limits the total number of threads by the actual queue size. So even if you have thread counts set to 100:42, but uploading only 5 files - only 5 threads will be engaged (5< 100) and they all will go in parallel (5 < 42). So when testing, test wisely!
I hope this clears the situation a bit...
HTH