Добавление конвейерного процессора SessionEnd влияет на Sitecore Analytics? - PullRequest
3 голосов
/ 06 сентября 2011

Сегодня утром я обнаружил тревожную аномалию, просматривая наши ежемесячные отчеты Sitecore Analytics.Наше среднее время пребывания на сайте в этом месяце составляет в среднем около 9 минут.Это больше, чем в среднем около 1-2 минут за предыдущий месяц.

Моя первая реакция была «отличная, похоже, у нас все лучше в этом месяце», но после дальнейшего расследования кажется, чтокаждое посещение сайта регистрирует статистику «времени на сайте» за 20-25 минут - даже при посещении одной страницы.

Кто-нибудь сталкивался с этим раньше?Похоже, что добавление процессора SessionEnd заставляет Sitecore поддерживать каждый сеанс в течение 20 минут по умолчанию.Если это правда, как можно добавить собственный конвейерный процессор SessionEnd, не влияя на статистику «времени на сайте» для каждого посещения?

Версия Sitecore: 6.4.1 Обновление 1

ОБНОВЛЕНИЕ

К сожалению, трафик сайта по-прежнему записывается свыше 20 минут для каждого посещения ... и это с полностью удаленным пользовательским процессором SessionEnd.В настоящее время я изучаю другие возможные причины.

ОБНОВЛЕНИЕ 2

Мы видим, как в наших журналах появляется много предупреждающих сообщений Google Analytics, которые выглядят следующим образом:

Analystics: Max size of insert queue reached. Dropped 3826.

Теперь я считаю, что это как-то связано ...

ОБНОВЛЕНИЕ 3

Я обнаружил, что статистика «времени на сайте» вернется к норме послеперезапуск приложения Sitecore.Оттуда среднее время на площадке будет постепенно увеличиваться со скоростью около 1 минуты каждые 10 минут или около того, пока не выровняется около 20 минут.Я полагаю, что примерно в то же время мы начинаем видеть предупреждения «Максимальный размер очереди вставки» в наших журналах.

Я также обнаружил, что фактическое значение времени на сайте рассчитывается из среднего промежутка времени.между столбцами [Session].[Timestamp] и [Session].[LastPageTimestamp] в таблице [Sessions].Интересно, что новейшие записи, входящие в таблицу сеансов, имеют [LastPageTimestamp] фактического времени , которое они вставляют в таблицу .Это как если бы оператор INSERT использовал GETDATE () для отметки каждой записи, когда они вставляются в базу данных.Если это правда, то я думаю, что нашел виновника.Я полагаю, что у меня проблемы с производительностью, и, что еще хуже, помещенные в очередь сеансы неправильно вставляются в базу данных.

1 Ответ

2 голосов
/ 07 сентября 2011

Не знаю ответа на этот вопрос ... но первое, что я хотел бы сделать, - это разобрать существующий код конвейера sessionEnd с помощью Reflector и посмотреть, если он делает что-то хитрое, что вы, по сути, отмените, добавив другой процессор.

В моем файле web.config единственным процессором является Sitecore.Pipelines.SessionEndSaveRecentDocuments.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...