- Windows 10
- SSD
- 4GB RAM
- i5第五代
所以我开始了一个新的Rails应用程序,排除了我的代码,但延迟仍然存在。
我还测试了
Webrick
,延迟仍然存在。我说的是
28秒
!!!我知道有许多相关问题,但大多数都涉及早期版本的Rails。
我想要在本地服务器上运行此应用程序的主要原因是用户在他的机器上使用Windows...
C:\Users\John\railstestapp\testapp>rails s
=> Booting Puma
=> Rails 5.0.0.1 application starting in development on http://localhost:3000
=> Run `rails server -h` for more startup options
这里有很大的时间间隔,接近25秒
*** SIGUSR2 not implemented, signal based restart unavailable!
*** SIGUSR1 not implemented, signal based restart unavailable!
*** SIGHUP not implemented, signal based logs reopening unavailable!
Puma starting in single mode...
* Version 3.6.0 (ruby 2.2.4-p230), codename: Sleepy Sunday Serenity
* Min threads: 5, max threads: 5
* Environment: development
* Listening on tcp://localhost:3000
正如你所期望的那样,这种性能在整个页面中都持续存在...
有什么想法吗?我错过了什么吗?你们中的任何人在Windows上开发rails 5吗?有什么提示吗?
我还在我的主机上进行了测试
16GB低延迟内存 固态硬盘 AMD FX8350
相同的缓慢响应,但比笔记本电脑快一点!
还有奇怪的事情是,如果我同时运行rails控制台,我会在控制台中看到rails日志打印,但浏览器加载很长时间!
我以为这是一个浏览器问题,所以为了排除这个问题,我用另一台我的本地机器浏览了该网站,所以我只能使用服务器而不是Windows浏览器...仍然没有效果,响应时间真的很慢!
这是快速机器上的Puma
C:\Users\John\SimpleGym\simplegym>rails s
=> Booting Puma
=> Rails 5.0.0.1 application starting in development on http://localhost:3000
=> Run `rails server -h` for more startup options
*** SIGUSR2 not implemented, signal based restart unavailable!
*** SIGUSR1 not implemented, signal based restart unavailable!
*** SIGHUP not implemented, signal based logs reopening unavailable!
Puma starting in single mode...
* Version 3.6.0 (ruby 2.2.4-p230), codename: Sleepy Sunday Serenity
* Min threads: 5, max threads: 5
* Environment: development
* Listening on tcp://localhost:3000
Use Ctrl-C to stop
DEPRECATION WARNING: after_filter is deprecated and will be removed in Rails 5.1. Use after_action instead. (called from block (2 levels) in <module:ClassMethods> at C:/Ruby22/lib/ruby/gems/2.2.0/gems/actionpack-5.0.0.1/lib/abstract_controller/callbacks.rb:191)
DEPRECATION WARNING: after_filter is deprecated and will be removed in Rails 5.1. Use after_action instead. (called from block (2 levels) in <module:ClassMethods> at C:/Ruby22/lib/ruby/gems/2.2.0/gems/actionpack-5.0.0.1/lib/abstract_controller/callbacks.rb:191)
Started GET "/" for ::1 at 2016-10-03 18:59:54 +0300
ActiveRecord::SchemaMigration Load (0.0ms) SELECT "schema_migrations".* FROM "schema_migrations"
Processing by SessionsController#index as HTML
Rendering sessions/index.html.erb within layouts/application
Session Load (0.0ms) SELECT "sessions".* FROM "sessions"
Session Load (0.0ms) SELECT "sessions".* FROM "sessions" ORDER BY "sessions"."id" DESC LIMIT ? [["LIMIT", 1]]
(0.0ms) SELECT COUNT(*) FROM "students" INNER JOIN "attendances" ON "students"."id" = "attendances"."student_id" WHERE "attendances"."session_id" = ? [["session_id", 1]]
Session Load (1.0ms) SELECT "sessions".* FROM "sessions" ORDER BY "sessions"."id" DESC LIMIT ? [["LIMIT", 1]]
Session Load (1.0ms) SELECT "sessions".* FROM "sessions" ORDER BY "sessions"."id" DESC LIMIT ? [["LIMIT", 1]]
Session Load (1.0ms) SELECT "sessions".* FROM "sessions" ORDER BY "sessions"."id" DESC LIMIT ? [["LIMIT", 1]]
Session Load (1.0ms) SELECT "sessions".* FROM "sessions" ORDER BY "sessions"."id" DESC LIMIT ? [["LIMIT", 1]]
(0.0ms) SELECT COUNT(*) FROM "students" INNER JOIN "attendances" ON "students"."id" = "attendances"."student_id" WHERE "attendances"."session_id" = ? [["session_id", 2]]
Session Load (0.0ms) SELECT "sessions".* FROM "sessions" ORDER BY "sessions"."id" DESC LIMIT ? [["LIMIT", 1]]
Rendered sessions/index.html.erb within layouts/application (113.0ms)
Completed 200 OK in 621ms (Views: 538.5ms | ActiveRecord: 8.0ms | Solr: 0.0ms)
这是快速机器上的Webrick
C:\Users\John\SimpleGym\simplegym>rails server webrick
=> Booting WEBrick
=> Rails 5.0.0.1 application starting in development on http://localhost:3000
=> Run `rails server -h` for more startup options
[2016-10-03 19:17:19] INFO WEBrick 1.3.1
[2016-10-03 19:17:19] INFO ruby 2.2.4 (2015-12-16) [i386-mingw32]
[2016-10-03 19:17:19] INFO WEBrick::HTTPServer#start: pid=9936 port=3000
DEPRECATION WARNING: after_filter is deprecated and will be removed in Rails 5.1. Use after_action instead. (called from block (2 levels) in <module:ClassMethods> at C:/Ruby22/lib/ruby/gems/2.2.0/gems/actionpack-5.0.0.1/lib/abstract_controller/callbacks.rb:191)
DEPRECATION WARNING: after_filter is deprecated and will be removed in Rails 5.1. Use after_action instead. (called from block (2 levels) in <module:ClassMethods> at C:/Ruby22/lib/ruby/gems/2.2.0/gems/actionpack-5.0.0.1/lib/abstract_controller/callbacks.rb:191)
Started GET "/" for ::1 at 2016-10-03 19:17:30 +0300
ActiveRecord::SchemaMigration Load (1.0ms) SELECT "schema_migrations".* FROM "schema_migrations"
Processing by SessionsController#index as HTML
Rendering sessions/index.html.erb within layouts/application
Session Load (0.0ms) SELECT "sessions".* FROM "sessions"
Session Load (0.0ms) SELECT "sessions".* FROM "sessions" ORDER BY "sessions"."id" DESC LIMIT ? [["LIMIT", 1]]
(1.0ms) SELECT COUNT(*) FROM "students" INNER JOIN "attendances" ON "students"."id" = "attendances"."student_id" WHERE "attendances"."session_id" = ? [["session_id", 1]]
Session Load (1.0ms) SELECT "sessions".* FROM "sessions" ORDER BY "sessions"."id" DESC LIMIT ? [["LIMIT", 1]]
(1.0ms) SELECT COUNT(*) FROM "students" INNER JOIN "attendances" ON "students"."id" = "attendances"."student_id" WHERE "attendances"."session_id" = ? [["session_id", 2]]
Session Load (0.0ms) SELECT "sessions".* FROM "sessions" ORDER BY "sessions"."id" DESC LIMIT ? [["LIMIT", 1]]
Session Load (1.0ms) SELECT "sessions".* FROM "sessions" ORDER BY "sessions"."id" DESC LIMIT ? [["LIMIT", 1]]
Session Load (0.0ms) SELECT "sessions".* FROM "sessions" ORDER BY "sessions"."id" DESC LIMIT ? [["LIMIT", 1]]
Session Load (1.0ms) SELECT "sessions".* FROM "sessions" ORDER BY "sessions"."id" DESC LIMIT ? [["LIMIT", 1]]
(0.0ms) SELECT COUNT(*) FROM "students" INNER JOIN "attendances" ON "students"."id" = "attendances"."student_id" WHERE "attendances"."session_id" = ? [["session_id", 3]]
Session Load (0.0ms) SELECT "sessions".* FROM "sessions" ORDER BY "sessions"."id" DESC LIMIT ? [["LIMIT", 1]]
Rendered sessions/index.html.erb within layouts/application (135.0ms)
Completed 200 OK in 679ms (Views: 596.3ms | ActiveRecord: 6.0ms | Solr: 0.0ms)
[2016-10-03 19:17:51] ERROR Errno::ECONNABORTED: An established connection was aborted by the software in your host machine. @ io_fillbuf - fd:8
C:/Ruby22/lib/ruby/2.2.0/webrick/httpserver.rb:80:in `eof?'
C:/Ruby22/lib/ruby/2.2.0/webrick/httpserver.rb:80:in `run'
C:/Ruby22/lib/ruby/2.2.0/webrick/server.rb:294:in `block in start_thread'
[2016-10-03 19:17:51] ERROR Errno::ECONNABORTED: An established connection was aborted by the software in your host machine. @ io_fillbuf - fd:9
C:/Ruby22/lib/ruby/2.2.0/webrick/httpserver.rb:80:in `eof?'
C:/Ruby22/lib/ruby/2.2.0/webrick/httpserver.rb:80:in `run'
C:/Ruby22/lib/ruby/2.2.0/webrick/server.rb:294:in `block in start_thread'
感谢大家尝试帮助我,但是我尝试了这些解决方案却没有用...似乎Rails现在还不能做到?
似乎没有一个良好的开发环境,我建议客户在线使用它。
//更新
https://drive.google.com/file/d/0B_flcE49VcE1ZmVPeTFuQjUyU2s/view
我正在上传一个视频展示这个问题。
- 尝试Ruby 2.3后的更新
安装ruby 2.3时会遇到很多问题:
- SSL错误关于https://rubygems.org(你必须使用http://)
- sqlite3错误1(rakefile中的路径)
- sqlite3在修复错误1后,错误2出现了一个关于sqlite3适配器的错误。
找不到有关错误2的解决方案,停止尝试......
也许我会切换到PG,只是为了看看性能是否更好,并将其标记为已解决,这需要一些时间,所以我会在有空的时候去做 :)
谢谢!