Счетчик потоков рабочих процессов IIS
Я видел этот вопрос, но ответ был либо недостаточным, либо не связанным. Я чувствую, что это довольно простой вопрос (ы).
У нас есть классическое приложение ASP, работающее на IIS7.5 на сервере Windows 2k8. При использовании perfmon я вижу, что количество выполняемых запросов составляет примерно 50 или меньше, а размер очереди зависит от времени суток. У нас максимальное число потоков на процессор (в ASP в IIS GUI) установлено на 25, и у нас 8 ядер, что должно дать нам 200 максимальных потоков.
Итак, основные вопросы заключаются в следующем:
- Один поток равен одному запросу? Если это так, не должно ли количество активных запросов быть числом потоков или числом активных запросов, в зависимости от того, что меньше? Я представляю, если элементы накапливаются в очереди, то либо каждый активный запрос занимает более 1 потока, либо IIS ограничивает себя до 50 потоков.
- Независимо от того, какое количество потоков я установил для каждого процессора, и независимо от количества процессоров (мы недавно добавили ядра), количество потоков, которое использует w3wp, составляет около 130. Почему бы ему не использовать полностью все 200? Если в очереди есть элементы, не должен ли другой поток прийти и обработать его?
- Если я использую perfmon для просмотра "Макс. Потоков" и "Всего потоков" для w3wp, максимальное количество потоков равно 256 (??), а общее количество потоков равно 9. Что это? 9? 256? 130????