我已在笔记本电脑中安装了RoR 5
我开始研究一个项目,我想在windows下进行特定的测试,我注意到了一些滞后和延迟。
所以我开始使用新的rails应用程序来排除我的代码,延迟也是一样的。
我还测试了Webrick
并且延迟仍在那里。
我在谈论28 seconds
!!!
我知道有许多相关问题,但大多数人都在早期版本中讨论过rails。
我想在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吗?任何提示?
我也在我的主机上测试了
响应速度慢,但比笔记本电脑快一点!
同样奇怪的是,如果我并排运行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'
谢谢所有人试图帮助我,我尝试了无解决方案的解决方案..看起来像铁路不会这样做(但是?)......
似乎没有什么能提供良好的开发环境,我建议客户在线使用它。
//更新
https://drive.google.com/file/d/0B_flcE49VcE1ZmVPeTFuQjUyU2s/view
我正在上传显示此问题的视频。
当您尝试安装ruby 2.3
时,会出现问题找不到有关错误2的解决方案并停止尝试...
可能生病切换到PG,只是为了看看性能是否更好并将其标记为已解决,这需要一点时间,所以当我有一些时这样做不好:)
谢谢!
答案 0 :(得分:3)
启动时间慢的一个原因可能是OpenSSL 请参阅此处的讨论:
OpenSSL causing very slow Rails boot time on Windows
另请阅读此答案以寻找可能的临时解决方案:
https://stackoverflow.com/a/36629699/823617
这是一张讨论问题的Rails票:
https://github.com/rails/rails/issues/25805
根据此票据,OpenSSL问题现已在Ruby 2.3中得到修复:
https://bugs.ruby-lang.org/issues/12139
答案 1 :(得分:1)
我自己一直没有看过这个,但是你可能会尝试使用Windows 10中新的内置Ubuntu。虽然如此YMMV也处于测试阶段。我会通过seein测试它是否可以首先安装一个ruby版本管理器(如rvm.io),好像运行你的应用程序可能会运行。
https://blogs.windows.com/buildingapps/2016/03/30/run-bash-on-ubuntu-on-windows
至少那时你更接近真正的posix风格终端。
答案 2 :(得分:0)
如果您不在Win 10上,我总是发现默认命令行非常平均,并且不包括许多其他平台上理所当然的事情。
我发现最简单的方法是为Windows下载github并使用他们提供的配置终端。 (好吧,他们曾经提供过一个终端,因为我已经做了一段时间)。如果Ubuntu方法不行,值得一试。
答案 3 :(得分:0)
之前我忘记提到这个,你也可以尝试一下由EngineYard的RailsInstaller http://railsinstaller.org/en为你设置一个完整的rails env。不幸的是,它似乎没有处于活跃的Dev:/(一个加号,没有身体报告速度是他们的github问题FWIW的问题)
是的,我知道这令人沮丧。
仅供参考,当我以前做Windows Dev时,我个人最终安装了虚拟机并在那里安装了Ubuntu,这对本地Dev来说很好,但是是的,安装虚拟机&#34;并不是你想要的答案,而且在大多数其他选择存在之前就已存在。