[tor-bugs] #22798 [Core Tor/Tor]: Windows relay is several times slower than Linux relay
Tor Bug Tracker & Wiki
blackhole at torproject.org
Tue Jan 16 10:46:18 UTC 2018
#22798: Windows relay is several times slower than Linux relay
-------------------------------------------------+-------------------------
Reporter: Vort | Owner: (none)
Type: defect | Status:
| needs_review
Priority: Medium | Milestone: Tor:
| 0.3.3.x-final
Component: Core Tor/Tor | Version: Tor:
| 0.2.9.11
Severity: Normal | Resolution:
Keywords: tor-relay, performance, windows, | Actual Points:
review-group-29 |
Parent ID: | Points: 5
Reviewer: | Sponsor:
-------------------------------------------------+-------------------------
Changes (by Vort):
* status: needs_revision => needs_review
Comment:
To make unencrypted upload testable, I have added fake command to control
port protocol:
{{{#!c
} else if (!strcasecmp(conn->incoming_cmd, "AAA")) {
int testchunksz = 4096;
char* trb = malloc(testchunksz + 1);
memset(trb, '0', testchunksz);
trb[testchunksz] = '\0';
for (int i = 0; i < 256; i++)
connection_write_str_to_buf(trb, conn);
connection_write_str_to_buf("\r\n", conn);
free(trb);
}}}
Then executed test program from Ubuntu VM:
{{{#!csharp
static void Main(string[] args)
{
int testdatasz = 4096 * 256;
TcpClient tc = new TcpClient();
tc.Connect(args[0], int.Parse(args[1]));
NetworkStream networkStream = tc.GetStream();
var br = new BinaryReader(networkStream);
var bw = new BinaryWriter(networkStream);
bw.Write(Encoding.UTF8.GetBytes("AAA\n"));
var sw = new Stopwatch();
sw.Start();
var a = br.ReadBytes(testdatasz);
sw.Stop();
var b = br.ReadBytes(2);
if (b[1] != 10)
throw new Exception();
Console.WriteLine($"Bandwidth = {(int)(testdatasz / 1024.0 /
sw.Elapsed.TotalSeconds)} KiB/s");
}
}}}
With 10 Mbit / 150 ms connection, adding of `update_send_buffer_size()`
call changes output from 77 KiB/s to 578 KiB/s.
Strange thing is that such change does not allow to use full bandwidth of
1220 KiB/s.
But, anyway, it is better than nothing.
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/22798#comment:134>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
More information about the tor-bugs
mailing list