2013-08-22 3 views
1

나는이 재미있는 문제가 있으며 문제를 식별 할 수 없습니다.Akka 메시지가 모두 즉시 중지됩니다.

나는이 "간단한"akka 응용 프로그램을 가지고 있습니다. 주요 목표는 데이터베이스의 모든 문서를 검토하는 것입니다. 내 주인공은 데이터베이스와 통신하는 단일 액터에게 행을 요청합니다. 검색된 각 문서는 내 주인공에게 반환됩니다. 배치별로 이러한 문서는 균형 조정 발송자가 관리하는 메시지 대기열에 추가됩니다. 소규모 근로자가 그들에게 가서 그들을 분류 할 것입니다.

보통 2 시간에서 4 시간 사이에 몇 시간이 지나면 모든 배우가 동시에 5 초 간격으로 멈 춥니 다.

당신 중 누구라도 비슷한 것을 보았는지 궁금합니다. 자세한 내용은

:

  • 나는
  • DeadLetters는 이유입니다 기다리고 있습니다 같은 방법을 잠금 어떤 스레드를 사용하지 않는 AkkA 2.2.0
  • 없음은
  • 에게 메시지가 사용되는 질문 사용 모든 것이 방금 종료된다는 것을 알고 있습니다

감사합니다.


DeadLetters에서 내 밸런싱 디스패처/내 라운드 로빈 라우터와 관련된 액터 만 멈춘 것처럼 보입니다. 내가 놓친 것이 있을까?

내 스칼라

val workers: ActorRef = context.system.actorOf(
    Props(new WorkerActor) 
    .withRouter(FromConfig()) 
    .withDispatcher("balancing-dispatcher"), 
    "round-robin" 
) 

내 구성 코드

balancing-dispatcher { 
    type = BalancingDispatcher 
    executor = "fork-join-executor" 
} 

akka.actor.deployment { 
    /round-robin { 
    router = round-robin 
    nr-of-instances = 50 
    resizer { 
     lower-bound = 10 
     upper-bound = 100 
    } 
    } 
} 
+1

재미있는 것 ... 디버깅 할 수 있습니다. 로그에 예외가 있으면 (좋은 로깅이 없으면 지금 추가 할 시간이됩니까?) –

+1

짐작할 수 있겠지만 짐작할 수있는 것은 VM이나 데이터베이스의 자바 메모리 정리와 같은 순간에 일어난다. 그런 다음 충분히 지연되어 다른 프로그래밍 타임 아웃 값 (예 : AwaitResult)에 영향을 미치고 접을 수있다. 시간 제한 값을 모두 밀어 넣으면 (실험을 위해서) 생존하는지 확인하십시오. – LaloInDublin

+0

솔루션을 프로필하셨습니까? DB, CPU, 네트워크, I/O에 과부하가 걸리지 않았습니까? 한 번 전에 비슷한 문제를 해결했습니다. 생산 시스템에서 2 시간 동안 과부하가 걸리자 거의 멈추었습니다. 그것은 MS SQL이 우리의 애플 리케이션이 행을 추가하고 나중에 읽고 제거한 후에 클러스터 된 인덱스를 다시 계산하기 시작한 것처럼 보였다. 그래서 나는 어떤 부분이 자원 모니터링을 사용하고 있는지 알아볼 것이다. –

답변

1

내가 먼저 메모리, GC, 및/또는 포크를 확인 + 문제에 참여하는 등의 방법 jconsole 또는 jvisualvm 같은 프로파일 링 도구를 사용합니다. 힙 할당이 충분합니까? 또한 스레드 수와 스레드 상태를 기록하십시오 (느린 속도가 발생할 때 분기되거나 분기되는 스레드가 있습니까?)

Akka의 스레드 풀에서 더 많은 스레드를 구성해야 할 수도 있습니다. 또는 100 인스턴스의 상한에 도달했으며 모두 사용 중이라는 것입니다. DefaultResizer 구현을 서브 클래스 화하여 리사이 저 활동의 명시 적 통지/로깅을 제공하고 하위 클래스를 리사이 저로 구성 할 수 있습니다.

+0

조언 해 주셔서 감사합니다. 우리는 당신의 킷을 사용하고 있습니다. 병목 현상과 다양한 애플리케이션 속도 향상 방법을 찾는데 도움이되었지만, 전체 종료를 해결하는 데는 도움이되지 못했습니다. 여유 메모리와 CPU가 있습니다. – Philippe

관련 문제