В настоящее время у меня есть таблица для записи каждой страницы, которую мои пользователи видят вместе с информацией о сеансе, используемой для последующего анализа.Просмотров страницы журнала SQL Server
Проблема заключается в том, что таблица протоколирования становится огромной и вызывает проблемы обслуживания и взаимоблокировки. Какая оптимальная альтернатива этому подходу?
Вот пара идей, но я полностью открыт для любых советов. Мне понадобится конечный результат в SQL Server, с сохранением многих переменных сеанса.
Настроить журналы IIS для сохранения журналов с помощью переменных сеанса, а затем импортировать файлы журнала в SQL Server по ночам. Использование Response.AppendToLog в ASP. Я считаю, что недостатком здесь является то, что я ограничен в том, как я могу добавить.
Создайте столик для ежедневных журналов, затем нажмите их на главный столик регистрации в ночное время и вытрите столик. Я не уверен, что это будет использовать столько ресурсов, сколько я сейчас делаю.
Используйте стороннюю компанию, такую как Google Analytics. Проблема здесь в том, что информация о сеансе пользователя чувствительна, и я не уверен, насколько много, если google позволяет мне передавать переменные им. И мне может потребоваться зашифровать данные перед отправкой, а затем расшифровать его, чтобы вернуть его на SQL Server.
Напишите прямо в текстовые файлы, а затем импортируйте их в ночное время. Я думаю, что DISK I/O будет таким же высоким с этим подходом.
Веб-сайты в основном написаны на классических ASP и ASP.net. Какой оптимальный подход?
Спасибо за помощь.
Вы правы. У меня нет каких-либо объединений в этой таблице журналов. Поэтому некоторые сведения о сеансе дублируются. Настройка второй таблицы не приведет к уменьшению количества строк, но она нормализует ее. Вы рекомендуете против вариантов 1, 3 или 4? – FatThumbs 2010-12-06 17:25:17