【问题标题】:Miniprofiler gem generating a lot of 404 errorsMiniprofiler gem 生成大量 404 错误
【发布时间】:2013-08-31 14:06:07
【问题描述】:

用于rails 的Miniprofiler gem 非常方便。 (github, railscast)

但是,我的应用程序中出现很多 404 错误:

在 chrome 控制台中,标签网络:

加载资源失败:服务器响应状态为 404 (未找到)http://localhost.mysite.com/mini-profiler-resources/results

此页面返回以下响应:Request not found: - user 127.0.0.1

在每一页上,我都有 9 个这样的请求。 (所以它阻塞了我的日志,这很烦人)。每次我触发一个 ajax 请求时,都会再显示 9 个。

似乎迷你分析器正在尝试评估未发生请求的时间...我该如何解决这种情况?


更新:我注意到这个 gem 还使图像的加载速度很慢。图像有一个等待时间(在网络选项卡中),范围从 1 到 20 秒,然后它们被加载。从视觉上看,您会看到一个又一个的图像非常缓慢地弹出。

我尝试修改 development.rb 配置设置(config.consider_all_requests_localconfig.assets.debugconfig.cache_classesconfig.assets.compress)但没有成功。我还尝试更改我的域(dev.mysite.com,条目位于/etc/hosts、localhost、127.0.0.1 和 localhost:3000)。在任何情况下,gem 都会使图像加载非常缓慢。如果我移除宝石,它又会很快。

更新 2:有时(我仍然不知道为什么),即使在重新启动服务器后使用 gem 时,图像也会快速加载。所以情况是这样的:

  • gemfile 中包含 Miniprofiler => 404 错误,图像在 90% 的时间内加载缓慢
  • gemfile 中不包含 Miniprofile => 没有 404 错误,图片加载正常

【问题讨论】:

    标签: ruby-on-rails rack-mini-profiler


    【解决方案1】:

    rm -fr tmp/miniprofiler 为我工作。在这里找到它https://github.com/MiniProfiler/rack-mini-profiler/issues/71

    【讨论】:

      【解决方案2】:

      我好像是权利问题:

      我使用 rvmsudo rails server -p 80 启动服务器,这导致 miniprofiler 以 root 身份将文件放入 tmp/miniprofiler。

      之前(rvmsudo rails server -p 80):

      $> ls -la tmp/miniprofiler/mp_timers
      -rw-r--r--  1 root  root  1427 Aug 31 17:18 tmp/miniprofiler/mp_timers_14p99y...
      ...
      

      => 404 错误和慢速图像

      之后:(与rails s

      $> ls -la tmp/miniprofiler/mp_timers
      -rw-r--r--  1 pinouchon  staff  1427 Aug 31 17:18 tmp/miniprofiler/mp_timers_14p99y...
      ...
      

      => 没有 404 错误,图片加载正常。


      唯一的问题是我无法在端口 80 上启动我的服务器:它说

      $> rails s -p 80
      Exiting
      /Users/sharewizz/.rvm/gems/ruby-1.9.3-p392@sharewizz/gems/eventmachine-1.0.3/lib/eventmachine.rb:526:in `start_tcp_server': no acceptor (port is in use or requires root privileges) (RuntimeError)
          from /Users/sharewizz/.rvm/gems/ruby-1.9.3-p392@sharewizz/gems/eventmachine-1.0.3/lib/eventmachine.rb:526:in `start_server`
      

      因为只有 root 才能在小于 1024 的端口上启动应用程序...

      【讨论】:

      • 感谢您发布此信息。遇到了同样的错误,除了我不知道为什么我的文件有问题,因为我没有以 root 身份启动服务器。反正我刚刚做了一个“sudo rm -r tmp/miniprofiler/*”好像解决了。
      猜你喜欢
      • 2015-06-23
      • 1970-01-01
      • 2014-06-12
      • 2020-05-18
      • 1970-01-01
      • 1970-01-01
      • 2010-10-23
      • 2010-11-30
      • 1970-01-01
      相关资源
      最近更新 更多