mirror of
https://github.com/cunnie/sslip.io.git
synced 2025-10-06 08:06:53 +08:00
Return NS records randomly
Previously when the NS records were returned, ns-aws was always returned first. Coincidentally, 64% of the queries were directed to ns-aws. And once I exceeded AWS's 10 TB bandwidth limit, AWS began gouging me for bandwidth charges, and $12.66/month rapidly climbed to $62.30 I'm hoping that by randomly rotating the order of nameservers, the traffic will balance across the nameservers. Current snapshot (already ns-ovh is helping): ns-aws.sslip.io "Queries: 237744377 (1800.6/s)" "Answered Queries: 63040894 (477.5/s)" ns-azure.sslip.io "Queries: 42610823 (323.4/s)" "Answered Queries: 14660603 (111.3/s)" ns-gce.sslip.io "Queries: 59734371 (454.1/s)" "Answered Queries: 17636444 (134.1/s)" ns-ovh.sslip.io "Queries: 135897332 (1034.4/s)" "Answered Queries: 36010164 (274.1/s)"
This commit is contained in:
@@ -42,12 +42,13 @@ var _ = Describe("flags", func() {
|
||||
Expect(err).ToNot(HaveOccurred())
|
||||
Eventually(digSession).Should(Say(`flags: qr aa rd; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0`))
|
||||
Eventually(digSession).Should(Say(`;; ANSWER SECTION:`))
|
||||
Eventually(digSession).Should(Say(`mickey.minnie.\n`))
|
||||
Eventually(digSession).Should(Say(`daffy.duck.\n`))
|
||||
Eventually(digSession, 1).Should(Exit(0))
|
||||
Eventually(string(digSession.Out.Contents())).Should(MatchRegexp(`mickey.minnie.\n`))
|
||||
Eventually(string(digSession.Out.Contents())).Should(MatchRegexp(`daffy.duck.\n`))
|
||||
Eventually(string(serverSession.Err.Contents())).Should(MatchRegexp(`Adding nameserver "mickey\.minnie\."\n`))
|
||||
Eventually(string(serverSession.Err.Contents())).Should(MatchRegexp(`Adding nameserver "daffy\.duck\."\n`))
|
||||
Eventually(string(serverSession.Err.Contents())).Should(MatchRegexp(`TypeNS example.com. \? mickey\.minnie\., daffy\.duck\.\n`))
|
||||
// we don't know the order in which the nameservers will be returned, so we try both
|
||||
Eventually(string(serverSession.Err.Contents())).Should(Or(MatchRegexp(`TypeNS example.com. \? mickey\.minnie\., daffy\.duck\.\n`), MatchRegexp(`TypeNS example.com. \? daffy\.duck\., mickey\.minnie\.\n`)))
|
||||
})
|
||||
When("a nameserver is an empty string", func() {
|
||||
BeforeEach(func() {
|
||||
|
Reference in New Issue
Block a user