Я недавно обновил одно из своих приложений до Rails 4.2
. При запуске на моем локальном компьютере я заметил, что простой link_to
для основного действия шоу иногда занимает очень много времени.Rails 4.2 - проблема с производительностью
Вот ссылка:
= link_to team_members_path(@team) do
Members
Вот мое действие (в моем MembersController
):
def index
@team = Team.find_by_id(params[:team_id])
if params[:search].present?
@members = Member.search ThinkingSphinx::Query.escape(params[:search]), :with => {:team_id => @team.id}, :page => params[:page], :per_page => 10
else
@members = Member.search params[:search], :with => {:team_id => @team.id}, :page => params[:page], :per_page => 10
end
end
Я использую Sphinx
и ThinkingSphinx
для поиска. При нажатии ссылки я получаю необычный длинный «журнал» на моей консоли.
Started GET "https://stackoverflow.com/users/1" for ::1 at 2014-12-24 11:24:40 +0100
Processing by UsersController#show as JS
Parameters: {"id"=>"1"}
[renders stuff etc]
...
Started GET "https://stackoverflow.com/users/1" for ::1 at 2014-12-24 11:24:40 +0100
Processing by UsersController#show as JS
Parameters: {"id"=>"1"}
[renders stuff etc. with the same timestamp as above]
...
Started GET "https://stackoverflow.com/users/1" for ::1 at 2014-12-24 11:24:40 +0100
Processing by UsersController#show as JS
Parameters: {"id"=>"1"}
[renders stuff etc. with the same timestamp as above]
Это действие: Started GET "https://stackoverflow.com/users/1"
кажется, дозвонился несколько раз, как вы можете видеть выше (намного больше, чем то, что я вставил выше), который, кажется, приводит к довольно плохой производительности, даже при работе на моей локальной машине.
И я не совсем уверен, как я могу это решить или что его вызывает. Есть идеи?
Примечание
Я на самом деле не знаю, почему GET "https://stackoverflow.com/users/1"
дозвонились вообще в этом случае. Я не привязываюсь к действию show users.
Я проверил его с помощью консоли Firefox. Смотрите рисунок ниже:
Похож на драгоценный камень turbolinks, который был представлен с Rails 4, что вызвало проблему, поскольку я могу видеть многие запросы js. Попробуйте посмотреть прямо сейчас, а не http: // localhost: 3000/users/1. Вы можете удалить турбонасосы, если это вызовет проблемы, связанные с улучшением производительности. –
http://stackoverflow.com/questions/18068951/rails-4-turbolinks-make-form-submit-multiple-times могут помочь вам. –
Привет, спасибо. Я пытался отключить turolinks следующим образом: '' data-turbolinks-track '=> false', но у меня все еще такая же проблема. Любые другие идеи? На самом деле я не знаю, почему 'GET '/ users/1" 'вызывается вообще в этом случае. Я не привязываюсь к действию show users. – Anders