[ https://issues.apache.org/jira/browse/SLING-2707?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13553615#comment-13553615 ]
Shashank Gupta commented on SLING-2707: --------------------------------------- >Also, what you cite about TCP speed limits doesn't seem to be relevant for the >question about why using multiple connections would help. The primary reason of single tcp cannot acquire full bandwidth of pipe is Head-of-line blocking(http://en.wikipedia.org/wiki/Head-of-line_blocking) i.e. sender stop sending data packets till it receives acknowledgement of first packet sent and using multiple connection is a workaround the problem. Quote from http://www.eecis.udel.edu/~nataraja/papers/MultTCPTR.pdf "The current workaround to improve an end user’s perceived WWW performance is to download an HTTP transfer over multiple TCP connections. An application employing multiple TCP senders exhibits an aggressive sending rate, and consumes a higher share of the bottleneck bandwidth than an application using fewer or single TCP connection(s) [12, 5]. Therefore, multiple TCP connections not only reduce HOL blocking, but are also expected to improve HTTP throughput. As a result, multiple TCP connections have remained an attractive option to improve web response times." Quote from http://stackoverflow.com/questions/259553/tcp-is-it-possible-to-achieve-higher-transfer-rate-with-multiple-connections "A brief summary: in high-latency, high-bandwidth environments, reliable communications such as TCP are often limited by the amount of data in flight at any given time. Multiple connections are one way around this, as the bandwidth delay product applies to each connection individually." "This will vary depending on the TCP stack of your OS, but a not-uncommon value for TCP receive window size is 64Kbytes. This is obviously far too small to allow you to make full use of the end to end bandwidth; once 64kbytes (512kbits) of data have been sent, your sending process will wait for a window update from the receiver indicating that some data has been consumed before putting any more data on the wire." "Having multiple TCP sessions open gets around this by virtue of the fact that each TCP session will have its own send/receive buffers" > Support of chunked file upload into Sling > ----------------------------------------- > > Key: SLING-2707 > URL: https://issues.apache.org/jira/browse/SLING-2707 > Project: Sling > Issue Type: New Feature > Components: General > Reporter: Shashank Gupta > Attachments: uploadclient.jar > > > Use cases: > 1. Large file upload - With high speed internet connections, advent of cloud > and HD going mainstream, Sling should support large files (> 2GB) upload. > 2. Fault tolerant uploads - Sling should provide capability to resume upload > from failure point. It should not require client to restart the complete > upload process. > 3. Faster upload: Sling should support its clients to initiate multiple > connection and upload file chunks in parallel. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira