Andy Li wrote:
Hi,
We ran into strange differences of flow control behavior of fanout exchange.
We use configuration with one publisher and 10 subscribers.
1)On some machines, publisher throughput will be higher than subscriber
throughput, and eventually the queue will overflow and throw an exception.
This is, as I understand, the expected behavior - publisher has entire 1
Gbit bandwidth to itself, whereas subscribers share it, so they have lower
theoretical limit. We've coded a simple flow control scheme to manage this.
FYI, the broker also has a prublisher max rate config options which may
help you.
2)However, on other machines we installed the broker, publisher and each
subscriber throughput seem to move in sync. There is little buffering in the
queue, and the overflow never happens. While the lack of overflow is
convenient, bandwidth utilization is 2-4 times lower compared to broker
machines exibiting behavior (1). In (1), combined output bandwidth utilized
by subscribers is 80-90% of 1Gbit available. In (2), it's 20-40%, depending
on the machine and latency to client.
All broker machines use the same OS version and broker 0.5 binaries with
default broker config. We can't figure out what is causing this difference
in behavior. We did seem to induce behavior (2) on machines (1) by running
unrelated workload concurrently that strongly competed for bandwidth.
Should like hardware or network, or it cold be things like cpuspeed
running on one machine and
not the other etc... Any more details on network, machines etc. That is
where I would start looking.
Carl.
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:[email protected]