[asterisk-dev] Help Solve the Mysterious Slowdown in Sip channel driver in Trunk!
russell at digium.com
Thu Jul 24 15:02:04 CDT 2008
Steve Murphy wrote:
> 1. 1.6 locking and holding times are about, on the average,
> roughly, twice the time of 1.4.
Could very well be a side effect of #2 ...
> 2. channel_find_locked() is called 3 times in 1.4; it is
> called almost 7000 times in trunk,
> and runs approx 6 times slower.
> Here is a possible candidate.
Wow... Can you add some debugging to figure out where these calls are
being made from where it wasn't being done before?
> 3. taskprocessor stuff gets called 21,000 times
> in trunk, but wasn't used at all in 1.4
> -- something to look at.
I'm not too suspicious of this. This code was put in to replace
equivalent logic that was in main/devicestate.c before. It's now just
being done through a common framework.
> 4. We have been "cheating" with trunk. All numbers
> and hold times with the channel lock
> call removed from the handle_request_invite.
> This roughly doubled the performance of
> chan_sip wrt call setup/teardown speed. It
> just tends to lock up when you do
> a "stop gracefully"...
I guess we shouldn't cheat, anymore. :)
Senior Software Engineer
Open Source Team Lead
More information about the asterisk-dev