ColdFusion - Получение массовых отчетов об ошибках - пользователи не сообщают о проблемах - PullRequest
0 голосов
/ 21 августа 2009

Хорошо, вот фон. У нас есть настройка кластерной среды для запуска нашего сервера Coldfusion, он в основном разделен на два разных экземпляра, на которые общий адрес перенаправляет запросы. У меня есть настройки моего приложения, чтобы отправлять мне электронные письма всякий раз, когда пользователь обнаруживает ошибку.

За последнюю неделю или около того у меня были случаи, когда я получал 500+ сообщений об ошибках более чем за 5 минут для одного пользователя, когда он просматривал рассматриваемое приложение. При нормальных обстоятельствах я могу получить дюжину за весь день. В большинстве случаев мне удалось поговорить с пользователем вскоре после этого, и они сообщили, что не получили ни одной страницы с ошибкой, и что они смогли выполнить свою транзакцию просто отлично.

Приложение, о котором идет речь, довольно прямолинейно, пользователь входит в систему, он просматривает около 6 различных страниц, каждая из которых отправляет опубликованные данные формы следующей, эти переменные формы необходимы для продолжения. Ошибка, которую я, похоже, получаю для каждой из этих коллекций массивных электронных писем, заключается в отсутствии первой переменной формы, ищущейся на каждой странице. «Сообщение об ошибке: элемент SESSION_ID не определен в FORM». - казалось бы, каждый раз.

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

Одна из моих гипотез состоит в том, что кластерный сервер отправляет запросы обоим экземплярам приложения на каждом из физических серверов, и тот, на котором находится сеанс пользователя, проходит нормально, но запрос к «неиспользованному» Сервер получает запрос без данных формы и отправляет эти сообщения об ошибках. Это правдоподобно? * 1009 Благодарения и *


Дополнительная информация - я просто просматривал свои отчеты, и другое основное сходство между всеми этими случаями заключается в том, что переменная CGI.referrer (которую я отправляю в своем сообщении об ошибке) не заполняется. В каждом случае этих массовых электронных писем ни один из них не проходит cgi.referrer, но во всех моих обычных отчетах об ошибках он добавляется. Я думал, что это было любопытно ..

Ответы [ 2 ]

0 голосов
/ 22 декабря 2009

Согласовано, сделайте cfparam для значения по умолчанию, в случае переменных cgi, которые не могут быть переданы кластерными серверами.

Также может быть целесообразно добавить некоторые проверки в ваши отчеты об ошибках, так что вместо 1000 электронных писем, сообщающих об одном и том же изменении 1-2 ошибок, у вас просто 1 сводное электронное письмо ... Меньше хлопот, чем необходимость удалять все эти сообщения. Огромные лишние письма.

0 голосов
/ 10 ноября 2009

Это может быть связано с тем, что переменные CGI не всегда определены. это действительно до веб-сервера, чтобы передать их. Вы можете проверить их существование, прежде чем зависеть от них ... как-то так ...

<cfif CGI.varname IS NOT "">
   CGI variable exists
<cfelse>
   CGI variable does not exist
</cfif>

или, может быть, даже CFPARAM, чтобы действительно убедиться, что у вас есть CGI-переменные.

Надеюсь, это поможет.

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