Предположим, что ASP.NET Session не будет влиять на время вашего обхода SQL Server при нормальной работе. Предполагая, что в сеансе не хранится ничего, связанного с вашим уровнем данных (то есть статические объекты SqlConnection)
Если вы видите эти длинные промежутки времени (30-40 секунд), попробуйте определить, является ли производительность постепенным замедлением или время вашего обращения к SQL Server является случайным.
Рассмотрите возможность ведения журналов, чтобы помочь определить шаблон. Начните с записи на диск, один файл в день / час, как вы считаете целесообразным.
- время начала выполнения команды SQL. Зарегистрируйте запрос / набор данных / релевантную информацию, которую вы передаете.
- время окончания команды SQL.
--- Executing statement SELECT * FROM Customers
--- Start 08:55.44
--- End 08:55.45
=== Roundtrip was 1 second SELECT * FROM Customers
Через час / день / неделю откройте журналы, чтобы найти «Roundtrip», и, возможно, напишите программу, которая проанализирует эти журналы для вас.