Comments (7)
Ok thanks. Let's me try to see how it works.
from tusd.
Parallel uploads are not guaranteed to make uploads faster as multiple requests then have to share the connection. A single HTTP request is usually able to fully utilize the available network throughput and adding more requests won't increase the available throughput. Plus, the server must concatenate the uploads together, which also takes times. In production, we also don't use parallel uploads for those exact reasons.
I recommend you to benchmark the uploads with and without parallel uploads. If you don't get a benefit from it, you should disable it.
from tusd.
Clients like tus-js-client
support uploading chunks of a single file in parallel. Have a look at its parallelUploads
option: https://github.com/tus/tus-js-client/blob/main/docs/api.md#paralleluploads
from tusd.
Clients like
tus-js-client
support uploading chunks of a single file in parallel. Have a look at itsparallelUploads
option: https://github.com/tus/tus-js-client/blob/main/docs/api.md#paralleluploads
Do you know how to config server to support uploading file in parallel? I knew that if the server does not support this feature, client can not upload a file in parallel.
from tusd.
tusd supports this out-of-the-box for file-based storage and S3 storage without any additional configuration necessary. It is not supported on GCS or Azure Storage yet.
from tusd.
@Acconut
I have added some code for uprading our tus upload from v1.9 to v2.0.
in backend, using this:
tusd "github.com/tus/tusd/v2/pkg/handler"
in client, adding this to js client: arallelUploads: 5
var defaultOptions = {
endpoint: "",
fingerprint: _fingerprint2.default,
resume: true,
onProgress: null,
onChunkComplete: null,
onSuccess: null,
onError: null,
headers: {},
chunkSize: Infinity,
withCredentials: false,
uploadUrl: null,
uploadSize: null,
overridePatchMethod: false,
retryDelays: null,
parallelUploads: 5
};
Then, try to upload a file (about 3Gb), it shows about 10 seconds slower than non-parallel uploading.
It's slower. Should we keep working with parallel uploading?
Thanks
from tusd.
I got your point.
Thank you
from tusd.
Related Issues (20)
- docs: Add example usage with Minio and Azurite
- Many post-receive hooks after post-finish hook HOT 6
- Unable to fetch Upload Id from Path HOT 2
- cli: Option log-format=json is ignored for plugin logs HOT 1
- using tusd handler with gorilla mux causing "NetworkControlError" warnings HOT 10
- Given nginx configuration slows down uploads over https HOT 1
- NetworkControlError/NetworkTimeoutError "feature not supported" in logs HOT 1
- Mismatched offset caused by duplicate part name with old file use s3store.
- Unclear if filelocker has to be used with filestore HOT 7
- Improve the lock interface to better suit distributed locks
- Forward headers to grpc hook java HOT 2
- -upload-dir flag HOT 7
- 'latest' docker image seems not to be the latest HOT 2
- [Question] Authentication for HEAD / PATCH HOT 2
- Make use of locker mandatory HOT 5
- How to clean up partial upload chunks after final upload success? HOT 2
- Does the specification allow, disallow, or does not specify to upload empty (content-lenght 0) files? HOT 3
- Am I doing the gcp bucket set up right? keeps failing with EOF error HOT 11
- pre-finish blocking script problem HOT 1
- validating video files using blocking hooks HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tusd.