This content has been marked as final.
Show 4 replies
-
1. Re: perfSender/perfListener is acting weird
ataylor Sep 30, 2008 3:23 AM (in response to clebert.suconic)On persistent messages, I used to get 24K messages / second, and now I'm getting 17K messages / second.
This is similar to the figures i was getting a few weeks ago, last time i ran the perf tests.if you run perfSender and perfListener as we aways used to run, sometimes you will not get all the messages on the client.
I'll have a look today to see if this happens for me and do some investigating. -
2. Re: perfSender/perfListener is acting weird
timfox Sep 30, 2008 3:25 AM (in response to clebert.suconic)Guys, please forget the optimising.
We'll get to that once we have the code complete. -
3. Re: perfSender/perfListener is acting weird
clebert.suconic Sep 30, 2008 9:56 AM (in response to clebert.suconic)"ataylor" wrote:
On persistent messages, I used to get 24K messages / second, and now I'm getting 17K messages / second.
This is similar to the figures i was getting a few weeks ago, last time i ran the perf tests.
I have a SCSI driver what should drive it faster.
I'm not too concerned about performance now, unless there is some basic design change that would affect performance in such way we can't optimize later.
I wanted to raise the issue here because of perfSender/perfListener not completing.
Just for the record, everything is fast and completing without any problems at r5023, and taking extra time and sometimes not completing at r5041+. -
4. Re: perfSender/perfListener is acting weird
timfox Oct 1, 2008 4:50 AM (in response to clebert.suconic)I fixed an issue in QueueImpl that might be causing this, but I can't commit yet due to other changes.
If you want to apply the fix yourself locally, add the following synchronized block in DeliverRunner in QueueImpl.javaprivate class DeliverRunner implements Runnable { public void run() { // Must be set to false *before* executing to avoid race waitingToDeliver.set(false); //must synchronize synchronized (QueueImpl.this) { deliver(); } } }
Without the synchronize block messages can get lost and get delivered out of order