Opened at 2015-02-06T17:42:08Z
Last modified at 2015-08-16T15:26:27Z
#2376 new enhancement
Don't use helper for local nodes, only remote ones
Reported by: | zooko | Owned by: | |
---|---|---|---|
Priority: | normal | Milestone: | undecided |
Component: | code-network | Version: | 1.10.0 |
Keywords: | upload-helper performance | Cc: | wilruvvo |
Launchpad Bug: |
Description
I (Zooko) rescued this from the spam filter. I didn't write it — wilruvvo did:
When sending data to storage nodes on the same network (or even on the same computer), it is clearly more efficient to transfer the data directly rather than uploading it to a helper which then sends it back. The helper should only be used for nodes at remote locations.
Possible heuristics for deciding if a node is 'local'
- localhost
- same subnet
- reachable on a RFC1918 address
- user-specified address range
Here are some related tickets:
#610 upload should take better advantage of existing shares #613 sometimes a helper hurts instead of helping (if you need to upload less than K shares) #868 use helper to bypass NAT/firewall #1207 Detect RFC1918/invalid addresses somehow
Having a heuristic for detecting which nodes are local/remote would also help the following use cases:
- Ensure at least K shares are 'local' so data remain available if the internet connection is down.
- Ensure at least K shares are 'remote' so data remain available if all nodes on one site are lost.
helper upload
Change History (2)
comment:1 Changed at 2015-02-07T01:18:45Z by daira
- Component changed from unknown to code-network
- Keywords helper performance added
comment:2 Changed at 2015-08-16T15:26:27Z by zooko
- Keywords upload-helper added; helper removed