Silk Road forums

Support => Feature requests => Topic started by: supersecretsquirrel on December 05, 2011, 09:48 pm

Title: SR and load balancing
Post by: supersecretsquirrel on December 05, 2011, 09:48 pm
It would be great if SR used load balancing to distribute the workload across multiple servers. If this is already being done, great. If not, please consider it.

From on the tor-relays mailing list:

The answer if two different Tors have the same hidden service private key is that they will each publish a hidden service descriptor. Whichever one published more recently is the one that a user accessing the hidden service will probably find and use.

This approach can provide a very crude load balancing. More interesting, it can also provide a very crude failover, where if one of them disappears, an hour or so later the other will publish and the hidden service will become reachable again.
Title: Re: SR and load balancing
Post by: Variety Jones on December 06, 2011, 01:46 pm
Unfortunately, it doesn't work the way it may seem from the snippet you posted.

Keep in mind, the physical server itself isn't under heavy load at all, and isn't the root cause of load problems.

When you start a Tor service, it propagates through the authoritative directory servers, and then to the other directory services. The authoritative directory servers can only promote one hidden service instance at a time. The process may take in excess of an hour, not the milliseconds switching time needed for load balancing. Also, as far as your browser is concerned it's a new session, so whatever you were doing on the site before the change is lost.

Tor doesn't scale like the normal web, and you can't load balance multiple servers for greater throughput.

The slowness of the site has to do with node congestion due to heavier traffic and the high number of simultaneous connections than the system is designed to handle.