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.
One idea I've seen is using one connection for upstream data (data-carrying POSTs, emptry responses), and one connection for downstream data (GET, one big chunked download). As I understand it, this is what Lantern's enproxy does: https://github.com/getlantern/enproxy So far I've avoided this idea because of the possibly weird traffic patterns.
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.
On Sun, 24 Apr 2016 22:02:23 -0700 David Fifield david@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.
[snip]
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`).
Regards,
On Mon, Apr 25, 2016 at 06:30:03AM +0000, Yawning Angel wrote:
On Sun, 24 Apr 2016 22:02:23 -0700 David Fifield david@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]
We're using 1.6. I suspect (but I am not sure) that most of the CPU is used by TLS handshakes. I thought of trying to get an ECDSA cert to see if it goes faster than the current RSA cert.