Rails Development Server читает неправильные запросы "Started Get '/' ...", когда я даже не нажимаю '/' - PullRequest
0 голосов
/ 18 апреля 2019

Я сейчас занимаюсь отладкой очень медленной страницы администратора в моем приложении.Когда я читал журналы, казалось, что, возможно, был N + 1 запрос:

  Unit Load (0.2ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079887 LIMIT 1
  Unit Load (0.2ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079805 LIMIT 1
  Unit Load (0.2ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079744 LIMIT 1
  Unit Load (0.2ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079910 LIMIT 1
  Unit Load (0.1ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079875 LIMIT 1
  Unit Load (0.2ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079898 LIMIT 1
  Unit Load (0.3ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079916 LIMIT 1
  Unit Load (0.8ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079918 LIMIT 1
  Unit Load (1.1ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079783 LIMIT 1
  Unit Load (0.2ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079751 LIMIT 1
  Unit Load (0.2ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079921 LIMIT 1
  Unit Load (0.2ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079911 LIMIT 1
  Unit Load (0.1ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079785 LIMIT 1
  Unit Load (0.1ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079770 LIMIT 1
  Unit Load (0.1ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079908 LIMIT 1
  Unit Load (0.1ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079760 LIMIT 1
  Unit Load (0.1ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079827 LIMIT 1
  Unit Load (0.1ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079919 LIMIT 1
  Unit Load (0.1ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079882 LIMIT 1
  Unit Load (0.2ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079690 LIMIT 1
  Unit Load (0.3ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079933 LIMIT 1
  Unit Load (0.4ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079915 LIMIT 1
  Unit Load (0.6ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079707 LIMIT 1
  Unit Load (0.2ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079906 LIMIT 1
  Unit Load (0.2ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079892 LIMIT 1
  Unit Load (0.1ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079801 LIMIT 1
  Unit Load (0.1ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079913 LIMIT 1
  Unit Load (0.1ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079900 LIMIT 1
  Unit Load (0.2ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079947 LIMIT 1
  Unit Load (0.3ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079769 LIMIT 1
  Unit Load (0.3ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079964 LIMIT 1
  Unit Load (0.2ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079765 LIMIT 1
  Unit Load (0.1ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079967 LIMIT 1
  Unit Load (0.1ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079926 LIMIT 1
  Unit Load (0.1ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079927 LIMIT 1
  Unit Load (0.1ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079950 LIMIT 1
  Unit Load (0.1ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079979 LIMIT 1
  Unit Load (0.1ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079981 LIMIT 1
  Unit Load (0.2ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079980 LIMIT 1
  Unit Load (0.3ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079814 LIMIT 1
  Unit Load (0.9ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079931 LIMIT 1
  Unit Load (0.8ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079986 LIMIT 1
  Unit Load (0.2ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079988 LIMIT 1
  Unit Load (0.2ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079997 LIMIT 1
  Unit Load (0.2ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079957 LIMIT 1
  Unit Load (0.1ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079830 LIMIT 1
  Unit Load (0.2ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079822 LIMIT 1
  Unit Load (0.2ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079806 LIMIT 1
  Unit Load (0.2ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079714 LIMIT 1
  Unit Load (0.2ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079946 LIMIT 1
  Unit Load (0.2ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079896 LIMIT 1
  Unit Load (0.2ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079851 LIMIT 1
  Unit Load (0.2ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079971 LIMIT 1
  Unit Load (0.1ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079863 LIMIT 1
  Unit Load (0.2ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079905 LIMIT 1
  Unit Load (0.4ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079914 LIMIT 1
  Unit Load (0.5ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079941 LIMIT 1
  Unit Load (0.3ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079848 LIMIT 1
  Unit Load (0.2ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079953 LIMIT 1
  Unit Load (0.2ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511080019 LIMIT 1
  Unit Load (0.2ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079834 LIMIT 1
  Unit Load (0.2ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079907 LIMIT 1
  Unit Load (0.2ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079934 LIMIT 1
  Unit Load (0.2ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079951 LIMIT 1
  Unit Load (0.2ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511080004 LIMIT 1
  Unit Load (0.1ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511080021 LIMIT 1
  Unit Load (0.1ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079929 LIMIT 1
  Unit Load (0.1ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079973 LIMIT 1
  Unit Load (0.1ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079961 LIMIT 1
  Unit Load (0.1ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079928 LIMIT 1
  Unit Load (0.2ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511080027 LIMIT 1
  Unit Load (0.3ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079904 LIMIT 1
  Unit Load (0.7ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079962 LIMIT 1
  Unit Load (0.2ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079965 LIMIT 1
  Unit Load (0.2ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079855 LIMIT 1
  Unit Load (0.2ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079877 LIMIT 1
  Unit Load (0.3ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079841 LIMIT 1
  Unit Load (0.3ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079816 LIMIT 1
  Unit Load (0.6ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511080040 LIMIT 1
  Unit Load (0.2ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079932 LIMIT 1
  Unit Load (0.2ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511080039 LIMIT 1
  Unit Load (0.1ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079860 LIMIT 1
  Unit Load (0.1ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511080047 LIMIT 1
  Unit Load (0.2ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079985 LIMIT 1
  Unit Load (0.6ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079878 LIMIT 1
  Unit Load (0.9ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079826 LIMIT 1
  Unit Load (0.2ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079945 LIMIT 1
  Unit Load (0.2ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511080038 LIMIT 1
  Unit Load (0.2ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079954 LIMIT 1
  Unit Load (0.2ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511080017 LIMIT 1
  Unit Load (0.2ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079999 LIMIT 1
  Unit Load (0.1ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079808 LIMIT 1
  Unit Load (0.2ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079766 LIMIT 1
  Unit Load (0.1ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511080060 LIMIT 1
  Unit Load (0.1ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079955 LIMIT 1
  Unit Load (0.1ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079987 LIMIT 1
  Unit Load (0.1ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079983 LIMIT 1
  Unit Load (0.1ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511080008 LIMIT 1
  Unit Load (0.2ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511080032 LIMIT 1
  Unit Load (0.2ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511080073 LIMIT 1
  Unit Load (1.0ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079829 LIMIT 1
  Unit Load (0.2ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511080080 LIMIT 1
  Unit Load (0.1ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079976 LIMIT 1
  Unit Load (0.2ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511080046 LIMIT 1
  Unit Load (0.2ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511080003 LIMIT 1
  Unit Load (0.2ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511080071 LIMIT 1
  Unit Load (0.1ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079940 LIMIT 1
  Unit Load (0.1ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079780 LIMIT 1
  Unit Load (0.2ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511080034 LIMIT 1
  Unit Load (0.2ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511080091 LIMIT 1
  Unit Load (0.1ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511080072 LIMIT 1
  Unit Load (0.1ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079695 LIMIT 1
  Unit Load (0.1ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511080056 LIMIT 1
  Unit Load (0.1ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079694 LIMIT 1
  Unit Load (0.1ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079833 LIMIT 1
  Unit Load (0.1ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511080090 LIMIT 1
  Unit Load (0.2ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511079803 LIMIT 1
  Unit Load (0.2ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511080067 LIMIT 1
  Unit Load (0.2ms)  SELECT  `units`.* FROM `units` WHERE `units`.`id` = 511080098 LIMIT 1
  Unit Load (0.3ms)  SELECT  `units`.* FROM 

с десятками таких строк.

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

rout.rb

  # ... many other routes
  # The route causing problems  
  get '/admin/unit/:id/data/:days', to: 'admins#unit_data', as: 'unit_data'

  # You can have the root of your site routed with "root"
  root 'units#root_unit'

admins_controller.rb

def unit_data
  puts "Hello World!"
end 
...
Hello World
  Rendered admins/unit_data.html.erb within layouts/new_application (0.0ms)
  Rendered layouts/new_application.html.erb (35.0ms)
Completed 200 OK in 744ms (Views: 45.1ms | ActiveRecord: 554.4ms)

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

Started GET "/" for ::1 at 2019-04-18 09:44:39 -0400
Processing by UnitsController#root_unit as */*

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

1 Ответ

0 голосов
/ 18 апреля 2019

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

Если страница требует аутентификации - вы можете "скопировать как cURL" в devtools со всеми файлами cookie и т. Д. И запросить страницу из консоли. Таким образом, вы можете быть уверены, что запрос работает только один (браузер может быть даже закрыт в данный момент)

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