[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 ]