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.

Reply via email to