< Previous by Date Date Index Next by Date >
  Thread Index Next in Thread >

[reSIProcate] DNS performance tuning


Hi,
I picked up a development build from svn last week and the RRCache code
works great, thanks for the help on that one.  However, I'm still seeing a
big delay when DnsStub::Query::go: is first called.  Is this because I'm
specifying "transport=udp"?  Is there anything I can do to reduce or
eliminate this?  I keep a DnsInterface thread running continuously for all
my lookups so I don't need to restart it each time.  I cant think of any
problems with my mutex/condition that would prevent Query::go from starting.

Regards,
Dave

Application code
----------------
Constructor for singleton wrapper class:
   dns = new ResipDnsInterface(*stub);
   dns->run();

Lookup code:
   Lock  lock(lookupCompleteMutex);
   Condition  dnsCond;
   DebugLog (<< "ResipDns::lookup - Looking up");
   dns->lookup(res, query.uri);
   DebugLog (<< "ResipDns::lookup - waiting for results");
   dnsCond.wait(lookupCompleteMutex); // signal sent from end of
DnsHandler::handle
   InfoLog (<< "ResipDns::lookup - DNS results for " << query.uri);

Stack trace
-----------
DEBUG | 20070119-163503.126 | dcmlaptop | SmSipMgr | RESIP:APP | 17423 |
190616 | app.cpp:227 | ResipDns::lookup - Creating Uri:
sip:flammajobby.com;transport=udp
DEBUG | 20070119-163503.126 | dcmlaptop | SmSipMgr | RESIP:APP | 17423 |
190616 | app.cpp:233 | ResipDns::lookup - Creating DnsResult
DEBUG | 20070119-163503.126 | dcmlaptop | SmSipMgr | RESIP:APP | 17423 |
190616 | app.cpp:236 | ResipDns::lookup - Looking up
DEBUG | 20070119-163503.126 | dcmlaptop | SmSipMgr | RESIP:DNS | 17423 |
190616 | DnsResult.cxx:198 | DnsResult::lookup
sip:flammajobby.com;transport=udp
STACK | 20070119-163503.126 | dcmlaptop | SmSipMgr | RESIP:DNS | 17423 |
190616 | DnsResult.cxx:321 | Doing SRV lookup of _sip._udp.flammajobby.com
DEBUG | 20070119-163503.126 | dcmlaptop | SmSipMgr | RESIP:APP | 17423 |
190616 | app.cpp:250 | ResipDns::lookup - waiting for results
STACK | 20070119-163503.154 | dcmlaptop | SmSipMgr | RESIP:DNS | 17423 |
162926 | dns/DnsStub.cxx:375 | DnsStub::Query::go: _sip._udp.flammajobby.com
type(enum): 33 proto: 1
STACK | 20070119-163503.155 | dcmlaptop | SmSipMgr | RESIP:DNS | 17423 |
162926 | DnsResult.cxx:912 | Received SRV result for: flammajobby.com
STACK | 20070119-163503.155 | dcmlaptop | SmSipMgr | RESIP:DNS | 17423 |
162926 | DnsResult.cxx:915 | DnsResult::onDnsResult() 0 status=4
STACK | 20070119-163503.155 | dcmlaptop | SmSipMgr | RESIP:DNS | 17423 |
162926 | DnsResult.cxx:978 | SRV lookup failed: _sip._udp.flammajobby.com 4
STACK | 20070119-163503.155 | dcmlaptop | SmSipMgr | RESIP:DNS | 17423 |
162926 | DnsResult.cxx:1024 | No SRV records for flammajobby.com. Trying A
records
STACK | 20070119-163503.155 | dcmlaptop | SmSipMgr | RESIP:DNS | 17423 |
162926 | dns/DnsStub.cxx:375 | DnsStub::Query::go: flammajobby.com
type(enum): 1 proto: 1
STACK | 20070119-163503.155 | dcmlaptop | SmSipMgr | RESIP:DNS | 17423 |
162926 | DnsResult.cxx:749 | Received dns result for: flammajobby.com
STACK | 20070119-163503.155 | dcmlaptop | SmSipMgr | RESIP:DNS | 17423 |
162926 | DnsResult.cxx:750 | DnsResult::onDnsResult() 0
STACK | 20070119-163503.155 | dcmlaptop | SmSipMgr | RESIP:DNS | 17423 |
162926 | DnsResult.cxx:771 | Adding [ V4 10.4.5.249:5060 UDP target
domain=flammajobby.com connectionId=0 ] to result set
DEBUG | 20070119-163503.155 | dcmlaptop | SmSipMgr | RESIP:APP | 17423 |
162926 | app.cpp:66 | ResipDnsHandler::handle - received flammajobby.com
STACK | 20070119-163503.155 | dcmlaptop | SmSipMgr | RESIP:DNS | 17423 |
162926 | DnsResult.cxx:178 | Returning next dns entry: [ V4 10.4.5.249:5060
UDP target domain=flammajobby.com connectionId=0 ]
DEBUG | 20070119-163503.155 | dcmlaptop | SmSipMgr | RESIP:APP | 17423 |
162926 | app.cpp:74 | flammajobby.com -> [ V4 10.4.5.249:5060 UDP target
domain=flammajobby.com connectionId=0 ]
STACK | 20070119-163503.155 | dcmlaptop | SmSipMgr | RESIP:DNS | 17423 |
162926 | DnsResult.cxx:485 | Priming []
DEBUG | 20070119-163503.155 | dcmlaptop | SmSipMgr | RESIP:APP | 17423 |
162926 | app.cpp:78 | ResipDnsHandler::handle - complete
INFO | 20070119-163503.155 | dcmlaptop | SmSipMgr | RESIP:APP | 17423 |
190616 | app.cpp:253 | ResipDns::lookup - DNS results for
sip:flammajobby.com;transport=udp
INFO | 20070119-163503.156 | dcmlaptop | SmSipMgr | RESIP:APP | 17423 |
190616 | app.cpp:260 | [ V4 10.4.5.249:5060 UDP target
domain=flammajobby.com connectionId=0 ]