[omniORB] OmniEvents -- Number of channels?

Alex Tingle alex.tingle at bronermetals.com
Tue Feb 8 10:55:14 GMT 2005


Hi Stephen,

> How many channels can omniEvents scale up to reliably?

Each EventChannel uses the following resources:
  o two threads
    (or just one if you avoid ProxyPushSuppliers)
  o an array of MaxQueueLength+1 pointers to Any

Some platforms have a 'thread limit' which may well prevent you from 
creating 1000s of EventChannels.

MaxQueueLength defaults to 1023, which is probably way too many for 
you. With lots of channels you could cut down the memory footprint by 
setting this to 100, or even 10. omniEvents typically uses very little 
CPU, but if you have so many channels that CPU starts to grow, you can 
reduce it by increasing CyclePeriod_ns.

If you decide to use a channel for more than one folder, then you 
should at least consider using the notification service (omniNotify) 
rather than omniEvents. It's more complicated, but it will filter 
events for you rather than you having to waste network bandwidth & CPU 
by filtering at the consumer.

> Also, I'm having trouble with the persistance feature on windows. I
> start omniEvents after my naming server (not actually omniNaming, but
> TAO_NT_Naming_Service), and expect the channel I previousely created
> to be auto-remade. but its not... how is this susposed to work?

Hmmm. It's supposed to 'just work'. You should be able to shut down the 
service and then restart it without noticing anything (except lost 
events).

Perhaps your persistency log directory does not exist. The default 
location is C:\omniEvents on win32. You can override this by setting 
the environment variable OMNIEVENTS_LOGDIR or the command line option 
`-l' (e.g. `omniEvents setoptions -l "C:\omniEvents"'). The directory 
should contain files named omnievents-HOSTNAME.log & 
omnievents-HOSTNAME.bak.

Try creating C:\omniEvents if it does not exist. Try looking for the 
.log & .bak files on your system. Try looking for error messages at the 
start of the trace output file.

(I'm assuming that you're using v2.6.1.)

Let me know how toy get on.

-Alex Tingle

--
:: alex tingle
:: http://www.firetree.net/consulting/
:: alex.tingle AT firetree.net  +44-7901-552763


On 7 Feb 2005, at 22:35, Stephen Hansen wrote:

> How many channels can omniEvents scale up to reliably? I'm trying to
> decide how to set up my system; there are items which belong in
> folders, and I want to tell only the people who have those folders
> open when its items are changed.
>
> My choices seem to be:
>    - 1 Channel per Folder: when a user is interested in a folder they
> subscribe to it and get events pushed to them.
>    - One channel for all item-update noticies, and then the user drops
> any that are for folders that they aren't interested in.
>    - Come up with a scheme to group the folders and have a single
> channel be for each group.
>
> There will be no more then a couple dozen such update notifications at
> any given time, they are almost all caused by user input. I would
> rather not have them all stream to everyone, because as the sites
> scale up, that's a lot of wasted traffic and processing as irrelevent
> messages are discarded.. but I don't know how many channels omniEvents
> can scale up to reliably.
>
> Also, I'm having trouble with the persistance feature on windows. I
> start omniEvents after my naming server (not actually omniNaming, but
> TAO_NT_Naming_Service), and expect the channel I previousely created
> to be auto-remad.e. but its not.. how is this susposed to work?
>
> Thanks.
>
> --Stephen
>
> _______________________________________________
> omniORB-list mailing list
> omniORB-list at omniorb-support.com
> http://www.omniorb-support.com/mailman/listinfo/omniorb-list




More information about the omniORB-list mailing list