Вопрос

Я использую популярное приложение restful authentication app / учебное пособие, найденное здесь: http://railsforum.com/viewtopic.php?pid=74245#p74245

Я активно пользуюсь приложением, и все работает отлично.Единственная проблема, с которой я сталкиваюсь, заключается в том, что системе требуется от 60 секунд до нескольких минут, чтобы обработать создание нового пользователя.Это, очевидно, неприемлемо.

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

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

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

Спасибо!

Это было полезно?

Решение

Я бы использовал новорельский драгоценный камень (не волнуйтесь, использование его для среды разработки на 100% бесплатно).Установив это, вы можете зарегистрировать пользователя, а затем использовать newrelic, чтобы увидеть, сколько времени занимал каждый sql-запрос и какая часть запроса (рендеринг и т.д.) отнимает время.

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

Удачи.

Другие советы

Я также подозреваю, что ActionMailer, если он не может связаться с настроенным сервером, потребуется довольно много времени для тайм-аута.

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

Я бы также попробовал использовать Rack::Bug gem .Предоставляет вам много информации о вашем приложении, которая может помочь вам отладить процесс аутентификации.

http://www.brynary.com/RackBug.mov

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top