I run Mongos on each WEB servers.
And I set timeout to 1 seconds for each query due to peculiar and general form of the WEB.
I'm suffering from sudden mongos death.
It seems like caused by delay of the query from mongos to Mongod.
Mongos will create a thread per mongos-mongod connections.
When some queries delayed, Mongos will create new connection and thread to handle the request from APP.
But these new connection will be delayed while DB locking.
So Mongos continue to create threads , and die in the end.
I confirmed that the number of the Mongos's threads exceed more than 300 when minor network delay (less than 10 seconds).
I think that the "thread model of Mongos" is unlikely to work well in severe situation.