[tor-dev] meek-server performance improvements?

Yawning Angel yawning at schwanenlied.me
Mon Apr 25 06:30:03 UTC 2016

On Sun, 24 Apr 2016 22:02:23 -0700
David Fifield <david at bamsoftware.com> wrote:

> I saw you say on IRC that you had an idea for improving the efficiency
> of meek-server. What's your idea? The server hosting meek-azure is
> passing 90% CPU at times.

Hmm, you're building meek-server with Go 1.6.x right?  CloudFlare of
all companies contributed some of the optimizations I wanted to do
courtesy of V. Krasnov, formerly of Intel...[0]

Alternatively using nginx or apache, since meek-server implemented as a
module would be fairly trivial, and likely would perform better.

> I've also done some preliminary work on allowing the server to send
> data in larger chunks, which should reduce polling:
> https://trac.torproject.org/projects/tor/ticket/12857#comment:4
> All that's really needed here is a decision on how to let the client
> indicate that it supports such a server, as the change is backward
> incompatible.

Neat.  I think the header value sounds reasonable (let me know when
this is finalized so I can update `meek_lite`).


Yawning Angel

[0]: Specifically a non-terrible GCM-AES.  The old code didn't use
PCLMULQDQ when calculating GHASH and wasn't stitched so performance was
total garbage even with AES-NI (NB: CBC and CTR mode are currently still
unoptimized, but that's orthogonal to this).
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <http://lists.torproject.org/pipermail/tor-dev/attachments/20160425/7360b316/attachment.sig>

More information about the tor-dev mailing list