<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><br><br><div>On 31 Jan 2018, at 10:45, r1610091651 <<a href="mailto:r1610091651@telenet.be">r1610091651@telenet.be</a>> wrote:<br><br></div><blockquote type="cite"><div><div dir="ltr"><div class="gmail_quote"><div dir="ltr">On Sun, 28 Jan 2018 at 11:06 teor <<a href="mailto:teor2345@gmail.com">teor2345@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto"><br><div><br></div></div><div dir="auto"><div>Try to make sure MaxMemInQueues allows 10-20s of traffic.</div><div><br></div><div><br></div></div></blockquote><div>Hi teor</div><div><br></div><div>That advice is quite sensible in my opinion and should be incorporated into tor mainline. With the recent load spikes, I've always wanders why is there a need for that may MB or even GB of queue memory. If it can't be retransmitted in few seconds, it will be retransmitted by source and will increase the queues further...</div></div></div></div></blockquote><div><br></div><div>Tor doesn't work like TCP.</div><div><span style="background-color: rgba(255, 255, 255, 0);">Clients do give up and retry after about 10-20s.</span></div><div><span style="background-color: rgba(255, 255, 255, 0);"><br></span></div><div>But if a circuit is broken by discarding cells, then the entire circuit needs</div><div>to be rebuilt, and the request sent again. And the client will probably</div><div>choose another path, that isn't as congested.</div><div><br></div><div><span style="background-color: rgba(255, 255, 255, 0);">A large MaxMemInQueues keeps circuits from breaking during traffic</span></div><div><span style="background-color: rgba(255, 255, 255, 0);">spikes.</span></div><div><br></div><div>But you're right, if the whole network is overloaded, it leads to a lot of large</div><div>buffers that don't do much.</div><div><br></div><blockquote type="cite"><div><div dir="ltr"><div class="gmail_quote"><div>The current setting for maxmeminqueue is 256MB and will correct itself if lowered. I would suggest to make that value rate dependent, either configured or measured.</div><div><br></div><div> To your knowledge, was there any thought put into such a dynamic config, instead of fixed percentage of free memory, independent of the actual throughput?</div></div></div></div></blockquote><div><br></div>There's a ticket to make it lower:<div><a href="https://trac.torproject.org/projects/tor/ticket/24782">https://trac.torproject.org/projects/tor/ticket/24782</a></div><div><br></div><div><span style="background-color: rgba(255, 255, 255, 0);">One problem with dynamic limits is that they don't handle traffic spikes well.</span></div><div>So we don't want to make it too low, because if your relay has the RAM,</div><div>it should use it.</div><div><br></div><div>T</div><div><br></div></body></html>