Answer
ThreadsPerChild sets the maximum number of concurrently executed requests the HTTP Server process can handle at once — it's not the same as the maximum number of concurrently logged-in users, which is a common point of confusion. The default is 600, but it needs to be sized to your actual anticipated peak of simultaneous requests, not just doubled arbitrarily. On the WinNT MPM (which IFS uses on Windows), this value can't technically exceed 15,000, though the real practical ceiling is available server memory — each thread has a fixed startup memory cost plus variable runtime memory usage depending on workload. A reasonable rule of thumb: multiply your maximum expected number of concurrently logged-on users by roughly 1.5 to estimate an appropriate ThreadsPerChild value (the default of 600, for reference, comfortably covers around 400 concurrent users making up to 200 simultaneous requests).