저는 Heroku와 Cedar 스택을 사용 중이며 약 30,000 개의 다른 사진에 대해 10 개의 미리보기 이미지를 재생 중입니다.Heroku에서 여러 콘솔 프로세스를 실행하면 다른 프로세스가 느려 집니까?
각 콘솔이 1000 장의 사진을 처리 할 수 있도록 각 콘솔 프로세스가 시작되므로 시간 초과 문제 (이전에는 문제가 있음)로 실행되지 않고 새로운 미리보기 이미지를 동시에 생성 할 수 있습니다. 이론적으로 전체 프로세스가 훨씬 빨라짐).
지금까지 약 12 개의 콘솔 프로세스가 있으며, 각 콘솔은 Paperclip의 축소판 재생성을 실행 중입니다.
더 많은 프로세스를 추가하는 것처럼 보이지만 다른 프로세스는 느려지 기 시작합니다. 그게 사실인가요, 아니면 그냥 상상할 수 있습니까? 그리고 그들이 최고 속도로 계속 달릴 수있는 방법이 있습니까?
여기 heroku ps
의 출력입니다 :
Process State Command
------- ---------- ---------------------------------
run.14 up for 35m bundle exec rails console
run.16 up for 31m bundle exec rails console
run.18 up for 28m bundle exec rails console
run.19 up for 27m bundle exec rails console
run.20 up for 21m bundle exec rails console
run.21 up for 20m bundle exec rails console
run.22 up for 18m bundle exec rails console
run.23 up for 8m bundle exec rails console
run.24 up for 8m bundle exec rails console
run.25 up for 6m bundle exec rails console
run.26 up for 5m bundle exec rails console
web.1 up for 3h bundle exec rails server -p $PORT
나는 새로운 축소판을 동시에 생성 할 수 있도록 별도의 프로세스를 부분적으로 수행하고 있습니다 ... 12 개의 프로세스가 있으면 한 번에 하나씩 12 개씩 생성 할 수 있습니다. 그래서 저는 하나의 레이크 작업이나 find_in_batches를 수행하지 않습니다. – Shpigford
이 레이크 작업으로 각 개체에 대해 지연된 작업을 생성 할 수도 있습니다. 예를 들어 영웅을 사용하는 경우 직업을 갖고있는 동안 최대 인력 수를 변경합니다. 그것은 빠를 것이다;) – Antoine