I’m trying to determine why the starting of my interfaces is slow and I’m trying to make sure I understand what goes on when starting a process.
Let’s say I have a process p2. This process has 13 threads.
When I start p2, the command thread (hciengine) starts and then, apparently, fires up the individual threads.
The process startup results in 14 hcitcl processes that look like this:
hcitcl /quovadx/qdx5.6/integrator/bin/hcixlatenotify xrel_post
The logs of p2 – and all other processes – receive 14 xrel_post commands like this:
[cmd :cmd :INFO/0: p2_cmd:04/28/2011 10:31:07] Received command: ‘p2_xlate xrel_post’
I’m assuming one for each thread in p2? (and one for extra measure?)
Perhaps I’m not understanding correctly, but it would seem that ONE of these for each process would suffice, wouldn’t it?
I’ve also stepped through the hcixlatenotify code and it seems by far that the largest time consumer is the netcfgLoad command – nearly 40 seconds for my test netConfig – about 24 seconds for live.
I have 25 processes and 121 threads in my test site – 19 and 101 respectively for prod. The engines don’t have any problem keeping up with the message load, starting the processes is very slow.
So… have any of you attempted to rewrite hcixlatenotify? I’m certain it can be made MUCH faster.
Looking for a little sage advice.
Jeff Dinsmore
Chesapeake Regional Healthcare