[Spread-users] Spread Performance (Financial Market Data Distribution)
jschultz at spreadconcepts.com
Mon Jul 9 15:49:24 EDT 2007
When you only use a single daemon, your throughput should be CPU limited.
As you linearly increase the number of receivers you are roughly linearly
increasing the amount of work Spread has to perform directing traffic to
each of the receivers. So, I am not suprised that you see the throughput
drop in half when you quadruple the number of participants on a single
One thing that confuses me is that it is not sustainable to have your
publisher producing at a rate 10x of what your receiver is consuming. I'm
suprised that Spread did not simply disconnect your receiver for being too
slow and consuming too much of its memory (buffer) resources.
If you intend to send as fast as possible then your processes will have to
conduct flow control amongst themselves so that your producers don't
overwhelm your consumers. If you don't, then Spread will disconnect your
receivers once they are consuming too much buffer memory.
Phn: 443 838 2200
On Mon, 9 Jul 2007, Thomas Lo wrote:
> We are evaluating Spread to be used in market data distribution for financial
> trading application. We are currently testing the throughput of using spread
> and our first test involves sending 100,000 56 bytes messages and the
> throughput on publisher is 122,228 messages per second and the receiver is
> 12,052 messages per second which is quite good (daemon, publisher, and
> receiver are on the same machine as the first test). However, when we
> increase the no. of receivers (from one to four) connecting to the same
> daemon, the throughput for both publisher and receiver start to decrease
> dramatically (half of what it can achieve before). Is there any configuration
> I need to tune the daemon on dealing with multiple receivers?
More information about the Spread-users