
Given plenty of RAM, a muti-core CPU and a single IP address, which is more efficient: a single instance of Tor configured with "NumCPUs 2" or 2 instances of Tor configured with "NumCPUs 1" and different port numbers? Thanks.

On 07.08.2013 22:11, Steve Snyder wrote:
Given plenty of RAM, a muti-core CPU and a single IP address, which is more efficient:
a single instance of Tor configured with "NumCPUs 2" or 2 instances of Tor configured with "NumCPUs 1" and different port numbers?
Tor does not scale well across multiple cores. If you hit a single core limit, you will have to spin up more processes. NumCPU does not help much. -- Moritz Bartl https://www.torservers.net/

On Wed, 07 Aug 2013 22:28:59 +0200 Moritz Bartl <moritz@torservers.net> wrote:
On 07.08.2013 22:11, Steve Snyder wrote:
Given plenty of RAM, a muti-core CPU and a single IP address, which is more efficient:
a single instance of Tor configured with "NumCPUs 2" or 2 instances of Tor configured with "NumCPUs 1" and different port numbers?
Tor does not scale well across multiple cores. If you hit a single core limit, you will have to spin up more processes. NumCPU does not help much.
While we are on this topic, is there a limit on the number of nodes per IP address? I have two nodes running on one IP (different ports), tried adding a third one, but it can't seem to be able to register: Aug 06 22:39:27.000 [notice] Heartbeat: It seems like we are not in the cached consensus. Aug 06 22:39:27.000 [notice] Heartbeat: Tor's uptime is 2 days 11:57 hours, with 0 circuits open. I've sent 11.38 MB and received 59.12 MB. Aug 06 23:06:22.000 [notice] Tor has successfully opened a circuit. Looks like client functionality is working. Aug 06 23:06:25.000 [notice] Performing bandwidth self-test...done. Aug 07 04:39:27.000 [notice] Heartbeat: It seems like we are not in the cached consensus. Aug 07 04:39:27.000 [notice] Heartbeat: Tor's uptime is 2 days 17:57 hours, with 0 circuits open. I've sent 12.87 MB and received 64.58 MB. and this just goes on forever. -- With respect, Roman

On Wed, Aug 7, 2013 at 5:43 PM, Roman Mamedov <rm@romanrm.ru> wrote:
While we are on this topic, is there a limit on the number of nodes per IP address? I have two nodes running on one IP (different ports), tried adding a third one, but it can't seem to be able to register:
There is a limit of two relays per IP. From the directory specification<https://gitweb.torproject.org/torspec.git/blob/HEAD:/dir-spec.txt> (line 1773): "Authorities SHOULD 'disable' any relays in excess of 2 on any single IP." This limit was implemented in 2007 as a countermeasure to Sybil attacks<https://gitweb.torproject.org/torspec.git/blob/HEAD:/proposals/109-no-sharing-ips.txt> . Vincent

On Wed, 7 Aug 2013 19:42:07 -0400 Vincent Yu <v@v-yu.com> wrote:
On Wed, Aug 7, 2013 at 5:43 PM, Roman Mamedov <rm@romanrm.ru> wrote:
While we are on this topic, is there a limit on the number of nodes per IP address? I have two nodes running on one IP (different ports), tried adding a third one, but it can't seem to be able to register:
There is a limit of two relays per IP. From the directory specification<https://gitweb.torproject.org/torspec.git/blob/HEAD:/dir-spec.txt> (line 1773): "Authorities SHOULD 'disable' any relays in excess of 2 on any single IP." This limit was implemented in 2007 as a countermeasure to Sybil attacks<https://gitweb.torproject.org/torspec.git/blob/HEAD:/proposals/109-no-sharing-ips.txt>
Thanks. I really think this should be revisited, as IPv4 addresses are now becoming much more scarce, and on the other hand, 4-6-8 core CPUs are becoming commonplace. At least raising the limit to 3-4 relays per IP. -- With respect, Roman

On Wed, Aug 07, 2013 at 10:28:59PM +0200, Moritz Bartl wrote:
On 07.08.2013 22:11, Steve Snyder wrote:
Given plenty of RAM, a muti-core CPU and a single IP address, which is more efficient:
a single instance of Tor configured with "NumCPUs 2" or 2 instances of Tor configured with "NumCPUs 1" and different port numbers?
Tor does not scale well across multiple cores. If you hit a single core limit, you will have to spin up more processes. NumCPU does not help much.
That's true at the limit, 200 Mbps or more needs more than 1 daemon. But with a single IP, running another daemon won't help as much as we'd like. Many client nodes are limited in the ports they can connect to. So, I would only recommend running multiple processes if you need it to fill your bandwidth. Using "NumCPUs 2" does, in my limited testing, provide some improvements in max throughput over a single thread. So use that if you're CPU bound but only by a small margin. -andy
participants (5)
-
Andy Isaacson
-
Moritz Bartl
-
Roman Mamedov
-
Steve Snyder
-
Vincent Yu