The only default I've really changed on waitress in most apps I've written has been the number of threads. On Heroku I also configure waitress to understand the forwarding headers (see trusted_proxy docs) so that client data shows up properly in the WSGI app.
I would not worry about these issues unless you feel your site is susceptible to specific types of abuse (DDOS, slowloris, etc) - at which point I would recommend you look at tuning a proxy like nginx in front of basically any WSGI server to buffer / filter clients before they hit your backend. > On Oct 5, 2020, at 20:34, Cooper Baird <cooperba...@gmail.com> wrote: > > Awesome. That clarifies my questions. Thanks! I'm trying to get a sense as to > what I should set connection limit on a heroku 1x dyno. I ran ulimit -a > within the dyno using heroku run and saw a value of 10000 for the max # of > file descriptors. 100 does seem very conservative, as mentioned in the > documentation. I don't want to set this value to something unsafe, but I > would like to maximize the number of open connections per dyno. Do you have > any advice in what I should set that value? I don't anticipate needing to > support > 100 connections at once super soon, but would like to plan ahead. > > On Monday, October 5, 2020 at 9:23:25 PM UTC-4 mmer...@gmail.com wrote: > The connection limit dictates how many individual tcp connections waitress > will handle at a time, and while those are alive (until client hangs up or > idle channel timeout) no other connections will be made. The backlog is a > signal to the OS to not outright reject connections even if waitress is not > willing to handle them yet. > > From the list of connections, waitress will handle requests based on the > number of threads. > > >> On Oct 5, 2020, at 20:06, Cooper Baird <coope...@gmail.com >> <applewebdata://E00E7B18-2029-418E-A9C3-F9AB2452CD79>> wrote: >> > >> I am starting to use Waitress, and I am trying to understand how channels >> and the backlog work, so forgive me for my ignorance if I'm not >> understanding this correctly. Let's say, hypothetically, that I am using all >> of the default settings (so 100 connection limit, 1024 backlog capacity, 4 >> threads, etc.). Let's say 100 users, all using HTTP/1.1 clients, go to the >> site at once and begin browsing. Does this mean that any additional users >> (past the 100) that try to browse the site will hit an error or have a >> connection timeout since the 100 users fill up the channel capacity of 100 >> (and being HTTP/1.1 clients, all their requests will be served over the same >> channel, keeping it open)? If this is the case, then does that mean anyone >> past those initial 100 users will have to wait some time between 30s >> (cleanup interval) and 120s (channel timeout) to be able to browse? Or is >> this where the backlog comes in and channels can be reused somehow between >> users/clients? I apologize if that didn't all make sense. I can clarify >> anything that was unclear in my thought process/questioning. >> > >> -- >> You received this message because you are subscribed to the Google Groups >> "pylons-discuss" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to pylons-discus...@googlegroups.com >> <applewebdata://E00E7B18-2029-418E-A9C3-F9AB2452CD79>. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/pylons-discuss/b9870007-07ea-4e25-bbd0-266e6d05bac2n%40googlegroups.com >> >> <https://groups.google.com/d/msgid/pylons-discuss/b9870007-07ea-4e25-bbd0-266e6d05bac2n%40googlegroups.com?utm_medium=email&utm_source=footer>. > > > -- > You received this message because you are subscribed to the Google Groups > "pylons-discuss" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to pylons-discuss+unsubscr...@googlegroups.com > <mailto:pylons-discuss+unsubscr...@googlegroups.com>. > To view this discussion on the web visit > https://groups.google.com/d/msgid/pylons-discuss/2b78006d-50f1-4acb-a7e7-4d722e372244n%40googlegroups.com > > <https://groups.google.com/d/msgid/pylons-discuss/2b78006d-50f1-4acb-a7e7-4d722e372244n%40googlegroups.com?utm_medium=email&utm_source=footer>. -- You received this message because you are subscribed to the Google Groups "pylons-discuss" group. To unsubscribe from this group and stop receiving emails from it, send an email to pylons-discuss+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/pylons-discuss/DC31D835-6859-47E7-8661-E107D210CE31%40gmail.com.