Here is Microsoft's response to the ticket I opened.
Firefox is waiting for more than the standard 2 minutes
before trying to re-use the connection.
Firefox never sends "FIN" command(FIN- Finish is
used during a graceful session close to show that the sender has no more data
to send) to the server, so it cannot re-open the connection.
IIS times the request out as expected, due to the default 2
minute ConnectionTimeout setting of HTTP.sys.
The IIS server, however should not be waiting for 9 seconds
to send a reset. So we doubt that there could be some issues with the NIC or
NIC drivers which initiates this waiting.
So, the part of the problem here is Firefox trying to reuse
an old connection.
The other problem seems to be with TCP on the server not
issuing a timely RST(RST- Reset is an instantaneous abort in both directions
(abnormal session disconnection)).
Recommendations:
Let’s disable TCP chimney and/or update NIC
drivers on server.
Lets run the following command to disable the TCPChimney,
Netsh int ip set chimney DISABLED
Unfortunately that command didn't work for me... I kept getting "command not found". So they had me add the following registry entries:
Lets add the following registry entries and set those values to zero.
EnableTCPChimney
Type: REG_DWORD
Values: 1 (enabled) 0 (disabled))
EnableRSS
Type: REG_DWORD
Values: 1 (enabled) 0 (disabled))
EnableTCPA
Type: REG_DWORD
Values: 1 (enabled) 0 (disabled))
I need to reboot and try to reproduce again, but I figured I'd share what I've got so far in case anyone else has better luck.
-paul