On Sat, Sep 9, 2017 at 6:25 PM, Jon Zeppieri <zeppi...@gmail.com> wrote: > When I ran experiments similar to yours on OS X I saw some odd > scheduling behavior. It looks like after roughly 2^14 requests are > `accept`-ed, there's a *long* delay before the next one succeeds. It > appears that the program is `poll`-ing, waiting for activity, but, for > whatever reason, it doesn't receive notice of any for a long time. > > - Jon
Okay, it seems this occurs when the listen backlog fills up (the listen(2) man page on OS X says that the backlog is limited to 128), at which point the server stops sending SYN-ACKs (it appears to send ACKs instead), and the clients respond with RSTs. It looks like the server and client play this game for some time, where the clients backoff exponentially, so that their reset requests come more infrequently, until the server can manage to start processing requests again. It does seem odd, though, that the server seems to *favor* sending ACKs to clients it can't service over responding to the ones it can. -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.