2011-08-30 54 views
1

我們服務器上的各種Rails站點(Apache 2,Passenger,REE 1.8.7,各種Rails版本(主要是2.3.11))出現間歇性緩慢。有一個人進來,環顧四周,看看他是否能找到我們可以優化的東西。他從strace的,他做了一個Ruby進程的回來了與此摘錄:http://pastebin.com/t9LD89drRails站點在啓動時搜索文件的很多目錄?

正如你所看到的,非常多的路徑,其中一些相當無厘頭,正在搜索此相同的文件。儘管它實際上是在第8次嘗試中找到的。顯然這是很多 .rb文件被應用程序包含在內,導致大量浪費的磁盤活動。

有沒有人有一個想法這裏發生了什麼,如果我們可以做任何事情呢?我有一種感覺,這是減緩我們網站的啓動速度,這些網站使用我們想到的一個小內部CMS。我的第一個傾向是責怪沙漠,這是用來允許我們開發CMS的插件擴展。但那隻不過是一種猜測罷了。我的另一個猜測是,這是RubyGems。無論如何,它會讓我們的服務器上的任何應用程序重新啓動緩慢(並且在此過程中,由於Passenger的工作原理,服務器上的每隔一個應用程序10都會陷入困境),並且需要對其進行處理。

+1

也許它與此有關? http://rhnh.net/2011/05/28/speeding-up-rails-startup-time和http://www.rubyinside.com/ruby-1-9-3-faster-loading-times-require- 4927.html – Tom

+0

這是可能的。我也開始懷疑RubyGems是否合適。我指出的一件事是,很多正在搜索的路徑不存在和/或無意義,並且似乎是其他路徑的連接。 – hoff2

+0

此外,這不是一個真正的_solid_觀察,但加載時間似乎沒有在我的開發環境,也不在一個不同的服務器上差不多。關於它的一些建議告訴我,它取決於它運行的環境中安裝了多少個系統寶石 - 這個特定的服務器有很多,包括多個不同版本的Rails。 – hoff2

回答

1

安裝'will_paginate';因爲它看起來這個寶石丟失了。

+0

不,它的'安裝。如果不是這樣,這個網站會出錯並且根本不會啓動,而且我會收到一個非常明顯的錯誤消息,並帶有一個非常明顯的錯誤,並且不會在此處發佈。 – hoff2

+0

此外,這款產品只是完整版本的摘錄。這是爲了滿足所有需求。 – hoff2