2011-03-16 39 views
0

我目前在Ubuntu Linux上運行Rails 3,並且我看到了對於簡單命令來說似乎很長的響應時間。例如,如果我調用db:rollback刪除一個4列的小表,並且0行花費約30秒。如何在Linux中減少Rails 3命令的用戶時間與系統時間的比率

[email protected]:~/rails_projects/foglift$ time rake db:rollback 
(in /home/paul/rails_projects/foglift) 
== CreateResults: reverting ================================================== 
-- drop_table(:results) 
    -> 0.0013s 
== CreateResults: reverted (0.0014s) ========================================= 


real 0m27.946s 
user 0m26.570s 
sys  0m1.284s 

用戶時間與系統時間的高比率是什麼讓我困擾。是否有診斷或排除故障?

任何幫助將不勝感激。

謝謝! 保羅

回答

1

你真的無法改變這一點。這是使用解釋型語言和強大/靈活的Web開發框架的結果。

運行該命令時,必須先將ruby解釋器與rails環境和應用程序一起加載,然後才能運行回滾。它類似於啓動Rails服務器,然後運行回滾。

建設時這可能會很痛苦,但也有優勢。您的遷移可以包含利用您的應用中的類的邏輯,以作出如何執行遷移的正確決策。長期可維護性在這裏是最好的。

此外,DB模型通常不會頻繁變化,功率比超速更重要。

+0

非常感謝。我已經讀過相對於sys時間的高cpu時間,這通常意味着你的程序出了問題,這要感謝你讓我放心。 – 2011-03-18 04:41:13

相關問題