[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[tor-dev] Big performance improvement for meek-azure



I found and fixed a big performance limitation in the meek-azure
transport. If you tried meek-azure before, but it was too slow, give it
another try!

meek-azure has always seemed slower than the other two backends, and I
recently spent the time to figure out why. It was a lack of persistent
HTTP connections between the Azure host and the Tor bridge. Every single
HTTP request was doing a complete TCP and TLS handshake. This of course
increased latency, but the bottleneck was actually CPU on the bridge, as
it tried to cope with all those TLS handshakes. Here is the commit that
causes connections to be shared and reused:
https://gitweb.torproject.org/pluggable-transports/meek.git/commit/?id=e06bcf2c849075cf241addf2182dfc0125a35c92

This issue did not affect meek-google because the App Engine URL fetch
API reuses HTTP connections transparently. It did not affect meek-amazon
because the CloudFront CDN does its own connection reuse.

Usage on meek-azure has already increased in the past few days since I
started testing the change. I attached a graph that shows the all-time
bandwidth history of the bridge.
https://globe.torproject.org/#/bridge/AA033EEB61601B2B7312D89B62AAA23DC3ED8A34

David Fifield

PNG image

_______________________________________________
tor-dev mailing list
tor-dev@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev