2011-03-16 1 views
0

현재 우분투 리눅스에서 레일 3을 실행 중이며 간단한 명령에 대한 응답 시간이 길어지는 것 같습니다. 예를 들어 db : rollback을 호출하면 4 개의 열과 0 개의 행으로 이루어진 작은 테이블이 ~ 30 초 걸립니다.리눅스에서 레일 3 명령에 대한 사용자 시간의 sys 시간 비율을 줄이는 방법

[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 

사용자 시간 대 Sys 시간의 비율이 높다는 것은 저를 괴롭 히고 있습니다. 이 문제를 진단하거나 해결할 수 있습니까?

모든 도움을 주시면 감사하겠습니다.

감사합니다. 폴

답변

1

정말 변경할 수 없게됩니다. 이는 인터프리터 언어와 웹 개발을위한 강력하고 유연한 프레임 워크를 사용한 결과입니다.

명령을 실행할 때 롤백을 실행하기 전에 ruby ​​인터프리터를 레일 환경과 응용 프로그램과 함께로드해야합니다. Rails 서버를 시작한 다음 롤백을 실행하는 것과 비슷합니다.

건물을 짓는 데 어려움이있을 수 있지만 장점이 있습니다. 마이그레이션에는 응용 프로그램의 클래스를 활용하여 마이그레이션을 수행하는 방법을 올바르게 결정할 수있는 논리가 포함될 수 있습니다. 장기간 유지 보수 가능성은 여기서 훨씬 더 좋습니다.

또한 DB 모델은 일반적으로 자주 변경되지 않으므로 전원이 초고속보다 중요합니다.

+0

감사합니다. 나는 sys 시간과 관련하여 높은 CPU 시간을 읽었다는 것은 일반적으로 당신이 프로그램에 뭔가 잘못 됐음을 의미한다. –

관련 문제