По KPI:
Некоторые уже упоминали об этом в других ответах.
Я не помню настоящие названия счетчиков, но в целом:
Количество запросов в секунду (Интернет)
% Процессор (Web & SQL)
Память GC (большая куча, поколение 0, 1, 2)
Коэффициент попадания в кэш для вашего SQL Server
Длина очереди диска (Web и, что более важно, ваш SQL)
любой счетчик, связанный с блокировкой и взаимоблокировкой в SQL
При получении ответа на ваши вопросы выше:
Пройдя через системный монитор, вы не сможете получить ответ на свой вопрос.
Возможно, вы захотите провести нагрузочное веб-тестирование, так как я гарантирую, что ваше приложение будет работать под нагрузкой иначе, если вы не протестируете его.
Инструменты, с которыми вы хотите ознакомиться, чтобы ответить на эти вопросы:
.NET Profiler (для профилирования вашего кода ASP.NET)
.NET CLR Profiler (для профилирования использования памяти)
Но, тем не менее, сначала создайте веб-тесты (вы можете легко сделать это с Fiddler для начала) и настройте их далее (чтобы можно было выполнять привязку данных) с VS и запустите нагрузочное тестирование с приближением к реальному представлению данных (в емкости) и количество пользователей.
Из веб-тестов вы сможете определить, какая страница не работает.
Затем углубитесь в профилировщики, чтобы выяснить, почему.
Вы уже на правильном пути, просматривая ScaleNet.pdf (или онлайн-версию). Это немного устарело, но все еще в силе. Продолжайте читать и применять то, что вы читаете там.