[omniORB] omniorb/omnievents - How do I improve events/sec throughput

Ian ian_xx7 at yahoo.co.uk
Tue Oct 4 14:40:10 BST 2005


I'm a couple of weeks into playing with omniORB and omniEvents and I've
been impressed with both so far. 
 
But I have a couple of questions involving a simple test. 
 
I have 2 processes. Currently both of them run on the same system
(2.8GHz Pentium 4) + omniname (omniORB 4.0.5) + omniEvents (2.6.2)  
 
Process A creates an EventChannel and creates a thread (A2) that waits
on events being pushed onto it (using PushConsumer example as the
template). 
 
Process A then makes a remote procedure call to Process B. On receipt
of the call Process B kicks off another thread (B2) and returns a
success status to Process A.  
 
Thread B2 will eventually do some work - but for now simply posts a
DONE event to the EventChannel. 
 
Thread A2 receives the event. 
 
The whole thing cycles with Thread A2 now calling the remote procedure
in Process B. Process B creates thread B2 and returns. Thread B2 posts
the DONE event. Thread A2 again receives the DONE event and repeats the
cycle. 
 
And so to my questions. 
 
Initially with the above setup I was getting a pretty low events/sec
rate (<100 from memory).  
 
The I discovered CYCLE_PERIOD_NS. Knocking this down to 0 got me up to
~1300 events/sec. All other omniORB/omniEvents configs are as per a
default installation. 
 
But is it sensible to make CYCLE_PERIOD_NS = 0 ? Are there any gotchas
looming on the horizon if I do this. 
 
I also notice that CPU usage is still only running at around 10-20%
usage. I was expecting the above to run the CPU flat out.  
 
So is there some other omniEvent / omniORB parameter that is throttling
my current throughput?
 
Thanks in advance. 
 
IanG 



		
___________________________________________________________ 
How much free photo storage do you get? Store your holiday 
snaps for FREE with Yahoo! Photos http://uk.photos.yahoo.com



More information about the omniORB-list mailing list