[tor-bugs] #22798 [Core Tor/Tor]: Windows relay is several times slower than Linux relay
Tor Bug Tracker & Wiki
blackhole at torproject.org
Sat Jan 13 11:28:30 UTC 2018
#22798: Windows relay is several times slower than Linux relay
-------------------------------------------------+-------------------------
Reporter: Vort | Owner: (none)
Type: defect | Status:
| needs_revision
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:
-------------------------------------------------+-------------------------
Comment (by Vort):
> What do you mean above when you say "It breaks build"?
It was said only about v1 patch. Newer versions does not have such
problem.
> The function update_send_buffer_size should probably be static
Yes, thanks. Changed it.
> and it definitely needs documentation.
> It should probably explain how it is doing that, and what exactly it is
doing.
My English is not good, so new description may need rewording.
> I see above that you have done work on measuring the performance impact,
both for the syscalls and for the network performance. Can you summarize
the outcomes?
According to [attachment:tor_sampling.png profiling results], `WSAIoctl()`
and `setsockopt()` functions use 1% of CPU resources. But I am not sure
about correctness of this result, since no API function is approaching 85%
of CPU usage as mentioned in ticket #23433.
Concerning network: in isolated environment, test program was able to
accelerate to 4 MiB/s, which allows to think that there are no limit on
upload speed after fix (or limit is high enough). Going back to real
tests: without patch, upload speed for my relay on high latency link was
50 KiB/s and BwAuth's weight was 20. With patch, all allocated bandwidth
(3 MiB/s) is used by relay and weight is increased to 4000.
>> Maybe non-encrypted connection requires update_send_buffer_size call
too?
> Yes, good idea.
Are there any method to test upload speed with non-encrypted connections?
And where that call should be placed? In `else` branch before `n_written =
(size_t) result;` line?
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/22798#comment:132>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
More information about the tor-bugs
mailing list