[reSIProcate] DNS performance tuning

Byron Campen bcampen at estacado.net
Mon Jan 22 11:10:33 CST 2007


	Well, it looks like you don't have any SRV records in your DNS,  
which is what the resolver tries looking for first. When that fails,  
it attempts an A query. So, you're having to wait for two DNS queries  
to finish in sequence, which would explain some amount of delay. How  
much delay are you seeing?

Best regards,
Byron Campen

> 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 ]
>
> _______________________________________________
> resiprocate-devel mailing list
> resiprocate-devel at list.resiprocate.org
> https://list.resiprocate.org/mailman/listinfo/resiprocate-devel

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2423 bytes
Desc: not available
URL: <http://list.resiprocate.org/pipermail/resiprocate-devel/attachments/20070122/a9504980/attachment.bin>


More information about the resiprocate-devel mailing list