2012-05-18 2 views
3

자산 파이프 라인을 사용하여 매우 큰 레일 앱 (Rails 3.2.3)을 보유하고 있습니다. assets 폴더에는 꽤 많은 파일이 있습니다.rake asset : 프리 컴파일은 1.9.2에서 28 분 걸림

1.8.7 미만에서는 rake assets:precompile을 실행하는 데 4 분이 걸립니다. 이것은 길지만 자산의 순수한 수에 기꺼이 그것을 용인하고 있습니다.

앱을 1.9.2로 업그레이드 한 후 rake assets:precompile을 실행하면 이 (가)이됩니다. 여기

는 관련 보석 버전입니다 :

rails (= 3.2.3) 
uglifier (1.2.3) 
    execjs (~> 1.3.0) 
therubyracer (~> 0.9.9) 
    libv8 (~> 3.3.10) 
sprockets (2.1.2) 
    hike (~> 1.2) 
    rack (~> 1.0) 
    tilt (~> 1.1, != 1.3.0) 

나는이 자산 컴파일되는, 그리고 내가 볼 것처럼 보인다 비록 내가 (단일 자산에 긴 지연을 정확히 파악할 수없는 볼 tail -f log/production.log 때 로그에서 동일한 애셋을 여러 번 (각 애셋마다 여러 단계가 있기 때문일 수 있음)

문제를 진단하기 위해 어떤 다른 단계를 시도해야합니까?

+0

1.9.3을 사용해 보셨나요? –

+1

1.9.3은 다른 몇 가지 문제를 해결하지만 확인해야 할 사항입니다. 하지만이 * 1.9.2에서 잘 작동해야합니다 ... –

+1

실제로 1.9.2는 1.9.3에서 수정 된로드 시간과 함께 심각한 회귀를 보였습니다. [패치를 백 포트] (http://www.rubyinside.com/get-edge-ruby-faster-loading-ruby-1-9-2-now-4973.html)를 1.9.2 버전으로 업그레이드 해보십시오. 설치하고 도움이되는지 확인하십시오. 그래도 그냥 추측입니다. –

답변

1

루비 1.9.2는 로딩 시간에 심각한 후퇴를 겪었습니다.로드 된 파일의 수와 함께 기하 급수적으로 증가했습니다. 이 Rails 애플리케이션은 정말 열심히 실패했습니다. 현재보고있는 자산 컴파일 시간이 크게 늘어난 이유는 이것이 용의주도하다는 것입니다.

이 내용은 1.9.3에서 수정되었으므로 backporting the load patch to 1.9.2으로 업그레이드하십시오.

+0

1.9.3으로 업그레이드하면 레이크 작업이 허용되는 수준으로 되돌아갑니다. 감사! –

+0

나는 1.9.3을 가지고있다. Windows 컴파일시 컴퓨터 속도에 따라 약 15 ... 30 분이 소요됩니다. – Paul

관련 문제