2011-07-01 4 views
0

rabbitMQ의 frame_max에 대한 내용은 frame_max가 "클라이언트와 협상 할 수있는 프레임의 최대 허용 크기 (바이트 단위)입니다."0으로 설정하면 "무제한"이지만 ​​버그가 트리거됨을 의미합니다. 값을 크게 설정하면 처리량이 향상 될 수 있지만 값을 낮게 설정하면 대기 시간이 향상 될 수 있습니다. "RabbitMQ에서 frame_max의 사용

기본값이 128KB 인 이유는 무엇입니까? 나는 프로덕션 환경에서 높은 대기 시간을 원하는 경우는 없으며, 그 이유는 기본값이 너무 낮게 설정된 이유입니다. 기본적으로 매우 높게 설정 될 수 있으므로 항상 높은 처리량을 가질 수 있습니다. 기본적으로 높은 가치를 갖는 데 해가됩니까 ??? 또한, frame_max가 어떤 값을 초과하는지, 즉 QPid 클라이언트에서 버그를 유발할 수있는 무제한 인 것처럼 동작합니다 ....

답변

0

먼저이 값을 변경할 필요가 없습니다.

둘째로, frame_max은 청크의 크기, 다중화 단위를 설정합니다. 단일 채널이 전체 연결을 포화시킬 수있는 상황을 피하기 위해 사용됩니다. 다른 AMQP 채널에 몇 개의 큰 메시지를 게시하면 다중 메시지가 전송됩니다. 더 작은 메시지는 동시에 이동할 수 있습니다.

실제로 여러 연결을 사용하면 더 나은 동시성을 얻을 수 있지만 다른 이야기입니다.

+0

메시지가 프레임을 통해 전달되는 방식을 이해할 수 없었습니다. i) 하나의 프레임 만 각 메시지에 할당됩니다 (메시지 크기

+1

"생산자의 처리량이 상당한 양으로 감소합니다"- "상당한 양"을 정의하십시오. AMQP 프레임이 어떻게 작동하는지 명확히 정의하고 있으므로 AMQP 0-9-1 사양을 살펴 본다면 가장 좋습니다. – Marek