Где происходит тайм-аут? Это в строках, когда ASP подключается / выполняет sql? Если это так, то ваша проблема либо с подключением к серверу БД, либо с самим БД. Загрузите профилировщик SQL в MSSQL, чтобы узнать, сколько времени занимают запросы. Возможно, это связано с блокировками в базе данных.
Используете ли вы транзакции? Если это так, убедитесь, что они не блокируют вашу базу данных в течение длительного времени. Убедитесь, что вы используете транзакции в ADO, а не на всей странице ASP. Вы также можете игнорировать блокировку в SQL Select, используя подсказку WITH (NOLOCK) для таблиц.
Убедитесь, что ваша база данных оптимизирована с помощью индексов.
Также убедитесь, что вы подключены к БД как можно быстрее, т. Е. (Например, не работает код): conn.open; set rs = conn.execute (); rs.Close; conn.Close. Поэтому сохраняйте наборы записей в переменной, а не проходите по циклу, удерживая соединение с БД открытым. Хорошим способом является использование функции GetRows () в ADO.
Всегда явно закрывайте и устанавливайте объекты ADO на ничего. Это может привести к тому, что соединение с БД останется открытым.
Включить пул соединений.
Загрузка констант ADO в global.asa, если вы их используете
Не хранить какие-либо объекты в областях сеанса или приложения.
Обновление до последних версий пакетов обновления ADO, MDac, SQL Server и т. Д.
Вы уверены, что сервер может справиться с нагрузкой? Может быть, обновить его? Это на виртуальном хостинге? Может быть, ваше приложение не проблема.
Очень просто измерить производительность скрипта, синхронизировав его от 1 строки до последней строки. Таким образом, вы можете идентифицировать медленно работающие страницы.