lp:~ralph-bean/pylibravatar/tcp-dns
- Get this branch:
- bzr branch lp:~ralph-bean/pylibravatar/tcp-dns
Branch merges
- François Marier: Approve
-
Diff: 12 lines (+1/-1)1 file modifiedlibravatar.py (+1/-1)
Branch information
Recent revisions
- 39. By Ralph Bean <email address hidden>
-
Use tcp for SRV lookups.
By default, the DNS module is using udp. I discovered this because it would
periodically time out on our server -- requests would sometimes take 30s that
would normally take less than 1s. I'd like to use tcp for our use case in
order to avoid timeouts. However, that alone is not reason enough to ask
everyone else to use tcp. They may want udp. It is faster, right?While playing with this, I found that on average tcp is repeatably faster than
udp for these kinds of requests.See tcp:
$ time python -c """
import DNS
DNS.DiscoverNameServers( )
[DNS.Request( name='_ avatars. _tcp.ralph. id.fedoraprojec t.org', qtype='SRV', protocol= 'tcp'). req() for i in range(128)]
"""
python -c 0.10s user 0.03s system 10% cpu 1.270 totalVersus udp:
$ time python -c """
import DNS
DNS.DiscoverNameServers( )
[DNS.Request( name='_ avatars. _tcp.ralph. id.fedoraprojec t.org', qtype='SRV', protocol= 'udp'). req() for i in range(128)]
"""
python -c 0.24s user 0.11s system 3% cpu 9.514 totalWhich makes it a more suitable default for libravatar.py, no?
- 38. By François Marier
-
Add a test for UTF-8 URLs
To make sure that we don't introduce a problem similar to the one that
was in the main Libravatar codebase:
Branch metadata
- Branch format:
- Branch format 7
- Repository format:
- Bazaar repository format 2a (needs bzr 1.16 or later)
- Stacked on:
- lp:pylibravatar