2012-07-16 1 views
1

나는 resque 큐를 16 개 가지고 있는데, 이들 큐를위한 메모리 할당을 보려고 할 때, 각각의 큐에 대해 4 %의 메모리를 보여주고있다. 그러나 그 당시 모든 대기열은 비어 있습니다. 그래서, 내 기억의 100 %에서 거의 64 %가 환경 부하 자체에 의해 활용됩니다. 그게 내가 느끼는 것.대기열 대기열이 전체 응용 프로그램을로드합니까?

의심되는 점은 입니다. 1. 각각의 대기열은 전체 응용 프로그램을 메모리에 별도로로드합니다.

  1. 그렇다면 모든 resque 대기열이 메모리의 단일 위치에로드 된 같은 환경을 사용하는 방식으로 resque 구성을 변경할 수 있습니까? 사전에

덕분에

답변

0

난 당신이 Resque를 사용하는 경우 당신은 운 생각합니다. 나는 이것이 Sidekiq으로 개발되어 Resque를위한 대체품 대체품이라고 생각합니다. Sidekiq의 저자는 blog post을 작성하여 Resque의 메모리 사용을 개선 한 방법을 설명했습니다. the Sidekiq FAQs에서 조금 있습니다 :

왜 Sidekq가 멀티 스레드 Resque보다 높습니까?

돌아 가기 탄소 다섯에서 나는 Resque 스레드 대신 분기의 를 사용하는 개선했다. 이 프로젝트가 Sidekq의 기본이었습니다. 나는 는 몇 가지 이유에 대한 Resque의 포크 이상 Sidekiq을 사용하는 것이 좋습니다 것입니다 :

  • MT Resque는 탄소 다섯 클라이언트에 대한 일회성이고 지원되지 않습니다. 해결되지 않은 버그가 많이 있습니다 (예 : 웹 UI의 작업자 스레드는 클라이언트에게 중요하지 않았기 때문에 표시됩니다.
  • Sidekiq은 처음부터 셀룰로이드를 통해 스레드를 사용하도록 작성되었습니다.
  • Sidekiq에는 미완성 제품이 있으므로 일 동안 멋진 일을 할 수 있습니다. Resque는 기본적으로 과 같은 미들웨어를 지원하지 않습니다. 한마디로

, MT Resque : 같은 문제에 대한 잘 설계된 솔루션 : 빠른 해킹은 하나의 클라이언트 많은 돈, Sidekiq을 저장합니다.