-
Notifications
You must be signed in to change notification settings - Fork 136
Open
Description
When replaying pages i noticed that dns timings are sometimes indeterministically off by 1 RTT. I assume that is some kind of pipelinine stall somewhere.
Example:
#replay a recording that has dns recordings for foo.com and google.com
$ mm-webreplay /tmp/recording-of-foo-com mm-delay 50
[replay] [delay 50 ms] $ dig google.com foo.com google.com
; <<>> DiG 9.10.3-P4-Ubuntu <<>> google.com foo.com google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 33771
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;google.com. IN A
;; Query time: 102 msec
;; SERVER: 127.0.1.1#53(127.0.1.1)
;; WHEN: Tue Nov 22 18:36:42 CET 2016
;; MSG SIZE rcvd: 28
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 54282
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1280
;; QUESTION SECTION:
;foo.com. IN A
;; ANSWER SECTION:
foo.com. 0 IN A <ip-address-omitted-for-this-example>
;; Query time: 102 msec
;; SERVER: 127.0.1.1#53(127.0.1.1)
;; WHEN: Tue Nov 22 18:36:42 CET 2016
;; MSG SIZE rcvd: 64
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 22859
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;google.com. IN A
;; Query time: 204 msec
;; SERVER: 127.0.1.1#53(127.0.1.1)
;; WHEN: Tue Nov 22 18:36:42 CET 2016
;; MSG SIZE rcvd: 28
Notice that the 3rd query time is twice the rtt.
I found that passing "--all-servers" to dnsmasq in dns_server.cc will avoid the issue (at least it has not happened in a testrun with 90 tries). However, i do not really understand why.
Metadata
Metadata
Assignees
Labels
No labels