Hi,

I was "playing around" with fedone and decided to make some load
testing with multiple clients. I created a test where i would spawn
multiple threads in sequence, waiting only 10 seconds before launching
the next. Each thread would connect to my local fedone server by
opening a new ClientBackend. Before the test spawned the threads it
would connect as the first client, create a new wave and add
participants for the other threads. Each thread, when spawned, would
open the wave from it's own ClientBackend and would start appending
blips one after the other. This way i was simulating multiples clients
communicating in a single wave (altough at a very high speed :P).

Very interesting indeed. But now the funny part. When I ran the test I
noticed that it would throw an exception by the time it would spawn
the fourth thread. When I checked the exception, I realized it had
been thrown by this line in the class SequencedProtoChannel:

 // Try to grab the whole payload.
if (requiredSize > bufferSize) {
                throw new IllegalStateException(String.format("Payload
(%d bytes) too large for" +
                                " buffer (%d bytes)", requiredSize, 
bufferSize));
              }

Why wasn't this being thrown when I had 1, 2 or 3 clients but it was
when i tried to start the 4th?  Indeed, very strange. I later tried
with 4 separate computers, instead of using threads, and the problem
persisted.
Finally, i tried twiking with the buffer size. I changed:

final int bufferSize = 8192 * 4;

to:

final int bufferSize = 8192 * 10;

This allowed me to connect the 4th client, but i don't know what the
consequences of this action are. Any brave soul has an insight into
the problem?

Cheers,
Bernardo

-- 
You received this message because you are subscribed to the Google Groups "Wave 
Protocol" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/wave-protocol?hl=en.

Reply via email to