문제

여기에 간단한 갤러리 모델이 있고 각 갤러리에 많은 이미지가있는 간단한 레일 3 앱이 있습니다. 이미지 모델은 클립과 다음 옵션으로 확장됩니다. 라코 디스

내 galleries_controller에는 jQuery-File을 사용하기 위해 구현 된 다음 작업이 있습니다. -업로드 플러그인. 따라서 json 응답. 라코 디스

저에게 이것은 매우 간단합니다. 그러나 여기에 문제가 있습니다. mongrel의 개발에서는 모든 종류의 업로드가 약 500-1000ms / 업로드로 잘 작동합니다.

하지만 프로덕션으로 푸시하면 유니콘 작업자의 시간 초과가 계속 발생하고 이미지를 통해 이미지를 보낼 때 한 파일에 대해 30 ~ 55 초가 걸립니다.

내가 업로드하는 파일의 크기는 약 10 만입니다.

ipref를 사용하여 VPS와 개발 컴퓨터 간의 대역폭을 테스트했으며 평균 속도가 약 77kbps이므로 업로드가 문제가되지 않습니다.

참고 저는 아바타가있는 사용자 모델과 동일한 앱을 사용하여 비 ajax 파일 업로드로 테스트를 수행했습니다. 개발=> 693ms 안에 302 개 완료 생산=> 21618ms에 302 개 발견 완료

누군가 (rails3, unicorn) 파일 업로드와 유사한 문제를 경험 했습니까?

도움이 되었습니까?

해결책

그래서 주위를 파헤친 후 내 VPS에서 ImageMagick의 OpenMP 옵션이 매우 느린 작업을 일으키는 것을 확인했습니다. 그래서 첫 번째 시도는 --disable-openmp 플래그가 추가 된 네이티브 Ubuntu 10.04 패키지를 다시 빌드하는 것이 었습니다. 이것은 어떤 이유로 실패했으며 패키지가 openMP가 여전히 활성 상태로 계속 나오는 이유를 잘 모르겠습니다. 내 현재 솔루션은 이제 Ubuntu 10.10에서 ImageMagick을 백 포트하는 것입니다. 다음은 내가 취한 단계입니다.

1 단계 다음 파일을 다운로드합니다.

  • imagemagick_6.6.2.6-1ubuntu1.1.dsc
  • imagemagick_6.6.2.6.orig.tar.bz2
  • imagemagick_6.6.2.6-1ubuntu1.1.debian.tar.bz2

    여기 에서

    2 단계 패키지 포장 풀기 라코 디스

    3 단계 규칙 수정 라코 디스

    25-39 행의 ./configure 구문에 다음 행을 추가하십시오. 34 행에 제 것을 추가했습니다. 라코 디스

    4 단계 종속성 추가 및 빌드 (이러한 종속성 필요) 라코 디스

    5 단계 기존 방식과 새로운 방식 라코 디스

    6 단계 다시 한번 빠른 이미지 변환 라코 디스

다른 팁

처리에 시간이 오래 걸리는 경우 별도의 작업자에서 미리보기 이미지를 처리하는 것이 좋습니다.

요청 : 파일 수락;디스크에 저장하십시오.대기열에 작업 게시 작업자 : 대기열에서 작업을 팝합니다.썸네일 만들기;반복

Delayed :: Job 및 Resque는이를위한 훌륭한 솔루션입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top