2014-09-19 55 views
0

我在我的開發環境中使用passenger start,但thin,webbrickpuma具有相同的結果。這個問題在運行Ubuntu 14.04的開發機器上似乎也是一致的。在生產中,我根本沒有這個問題。 Ruby版本是2.1.32.1.2(都嘗試過)。使用Rails 4.1.6(也嘗試了4.1.5)。什麼應該是簡單的渲染需要幾分鐘的時間

正在呈現相當簡單和小的登錄頁面。只是一個表單來設計會話控制器登錄。我跑strace passenger start看看永遠是什麼。有什麼想法可能造成這種情況?

慢請求

Started GET "https://stackoverflow.com/users/sign_in" for 10.0.2.2 at 2014-09-19 11:26:24 -0400 
Processing by Devise::SessionsController#new as HTML 
"", 8192)      = 0 
sched_yield()       = 0 
close(9)        = 0 
socket(PF_INET, SOCK_STREAM|SOCK_CLOEXEC, IPPROTO_TCP) = 9 
fcntl(9, F_GETFD)      = 0x1 (flags FD_CLOEXEC) 
fstat(9, {st_mode=S_IFSOCK|0777, st_size=0, ...}) = 0 
fstat(9, {st_mode=S_IFSOCK|0777, st_size=0, ...}) = 0 
connect(9, {sa_family=AF_INET, sin_port=htons(3000), sin_addr=inet_addr("0.0.0.0")}, 16) = 0 
fstat(9, {st_mode=S_IFSOCK|0777, st_size=0, ...}) = 0 
fstat(9, {st_mode=S_IFSOCK|0777, st_size=0, ...}) = 0 
fstat(9, {st_mode=S_IFSOCK|0777, st_size=0, ...}) = 0 
read(9, Rendered devise/sessions/new.html.erb within layouts/application (52237.4ms) 
    Rendered layouts/_navigation_links.html.erb (1.5ms) 
    Rendered layouts/_navigation.html.erb (2.6ms) 
    Rendered layouts/_messages.html.erb (0.2ms) 
Completed 200 OK in 52250ms (Views: 52246.2ms | ActiveRecord: 0.0ms) 

F5在瀏覽器,瀏覽器的快速響應

Started GET "https://stackoverflow.com/users/sign_in" for 10.0.2.2 at 2014-09-19 11:27:35 -0400 
Processing by Devise::SessionsController#new as HTML 
    Rendered devise/sessions/new.html.erb within layouts/application (3.7ms) 
    Rendered layouts/_navigation_links.html.erb (0.7ms) 
    Rendered layouts/_navigation.html.erb (1.4ms) 
    Rendered layouts/_messages.html.erb (0.2ms) 
Completed 200 OK in 852ms (Views: 849.3ms | ActiveRecord: 0.0ms) 

F5並再次將其響應速度很慢

Started GET "https://stackoverflow.com/users/sign_in" for 10.0.2.2 at 2014-09-19 11:27:40 -0400 
Processing by Devise::SessionsController#new as HTML 
"", 8192)      = 0 
close(9)        = 0 
socket(PF_INET, SOCK_STREAM|SOCK_CLOEXEC, IPPROTO_TCP) = 9 
fcntl(9, F_GETFD)      = 0x1 (flags FD_CLOEXEC) 
fstat(9, {st_mode=S_IFSOCK|0777, st_size=0, ...}) = 0 
fstat(9, {st_mode=S_IFSOCK|0777, st_size=0, ...}) = 0 
connect(9, {sa_family=AF_INET, sin_port=htons(3000), sin_addr=inet_addr("0.0.0.0")}, 16) = 0 
fstat(9, {st_mode=S_IFSOCK|0777, st_size=0, ...}) = 0 
fstat(9, {st_mode=S_IFSOCK|0777, st_size=0, ...}) = 0 
fstat(9, {st_mode=S_IFSOCK|0777, st_size=0, ...}) = 0 
read(9, Rendered devise/sessions/new.html.erb within layouts/application (52214.5ms) 
    Rendered layouts/_navigation_links.html.erb (2.0ms) 
    Rendered layouts/_navigation.html.erb (3.6ms) 
    Rendered layouts/_messages.html.erb (0.1ms) 
Completed 200 OK in 53057ms (Views: 53053.3ms | ActiveRecord: 0.0ms) 

F5上的瀏覽器,並很快再次響應

Started GET "https://stackoverflow.com/users/sign_in" for 10.0.2.2 at 2014-09-19 11:29:30 -0400 
Processing by Devise::SessionsController#new as HTML 
    Rendered devise/sessions/new.html.erb within layouts/application (3.1ms) 
    Rendered layouts/_navigation_links.html.erb (0.4ms) 
    Rendered layouts/_navigation.html.erb (1.1ms) 
    Rendered layouts/_messages.html.erb (0.1ms) 
Completed 200 OK in 769ms (Views: 767.2ms | ActiveRecord: 0.0ms) 

編輯

於是我就strace -f passenger start看到叉過程,它看起來像我所有的寶石都不見了。但是,該應用程序的工作。真奇怪。

[pid 2300] open("/home/kobaltz/.rvm/gems/ruby-2.1.3/gems/rdoc-4.1.2/lib/arel/nodes/grouping.rb", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) 
[pid 2300] open("/home/kobaltz/.rvm/gems/ruby-2.1.3/gems/rails_layout-1.0.22/lib/arel/nodes/grouping.rb", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) 
[pid 2300] open("/home/kobaltz/.rvm/gems/ruby-2.1.3/gems/quiet_assets-1.0.3/lib/arel/nodes/grouping.rb", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) 
[pid 2300] open("/home/kobaltz/.rvm/gems/ruby-2.1.3/gems/pundit-0.3.0/lib/arel/nodes/grouping.rb", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) 
[pid 2300] open("/home/kobaltz/.rvm/gems/ruby-2.1.3/gems/public_activity-1.4.2/lib/arel/nodes/grouping.rb", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) 
[pid 2300] open("/home/kobaltz/.rvm/gems/ruby-2.1.3/gems/prawn-templates-0.0.3/lib/arel/nodes/grouping.rb", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) 
[pid 2300] open("/home/kobaltz/.rvm/gems/ruby-2.1.3/gems/prawn-1.2.1/lib/arel/nodes/grouping.rb", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) 
[pid 2300] open("/home/kobaltz/.rvm/gems/ruby-2.1.3/gems/pdf-reader-1.3.3/lib/arel/nodes/grouping.rb", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) 
[pid 2300] open("/home/kobaltz/.rvm/gems/ruby-2.1.3/gems/ttfunk-1.2.2/lib/arel/nodes/grouping.rb", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) 
[pid 2300] open("/home/kobaltz/.rvm/gems/ruby-2.1.3/gems/ruby-rc4-0.1.5/lib/arel/nodes/grouping.rb", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) 
[pid 2300] open("/home/kobaltz/.rvm/gems/ruby-2.1.3/gems/pdf-core-0.2.5/lib/arel/nodes/grouping.rb", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) 
[pid 2300] open("/home/kobaltz/.rvm/gems/ruby-2.1.3/extensions/x86_64-linux/2.1.0/passenger-4.0.50/arel/nodes/grouping.rb", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) 
[pid 2300] open("/home/kobaltz/.rvm/gems/ruby-2.1.3/gems/passenger-4.0.50/lib/arel/nodes/grouping.rb", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) 
[pid 2300] open("/home/kobaltz/.rvm/gems/ruby-2.1.3/extensions/x86_64-linux/2.1.0/mysql2-0.3.16/arel/nodes/grouping.rb", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) 
[pid 2300] open("/home/kobaltz/.rvm/gems/ruby-2.1.3/gems/mysql2-0.3.16/lib/arel/nodes/grouping.rb", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) 
[pid 2300] open("/home/kobaltz/.rvm/gems/ruby-2.1.3/gems/mini_magick-3.8.1/lib/arel/nodes/grouping.rb", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) 
[pid 2300] open("/home/kobaltz/.rvm/gems/ruby-2.1.3/gems/subexec-0.2.3/lib/arel/nodes/grouping.rb", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) 
+0

此行'閱讀(9,渲染色器件/會話/ new.html.erb /應用(52237.4ms) '告訴您發生緩慢的地方:它是'devise/sessions/new.html.erb'模板,我在那裏放了一堆日誌,然後看日誌,看看延遲發生的地方 – 2014-09-19 16:36:43

+0

奇怪的是它發生了在任何頁面上,即使我註釋掉任何CSS或JS包含,它看起來像是因爲某些原因,它很難找到gem依賴關係。 – kobaltz 2014-09-19 16:37:53

+0

如果您停止並重新啓動服務器,該怎麼辦?你是否在啓動服務器之後切換rvms或類似的東西? – 2014-09-22 10:07:09

回答

0

關閉config.assets.debug可能加快佈局內的渲染

config.assets.debug = false 
+0

不幸的是,沒有幫助。看到我的編輯,因爲我用叉子跑過去。 – kobaltz 2014-09-19 15:55:38

相關問題