6

I'm experiencing some interesting network issues, which I can reproduce and work around, although not explain - therefore I ask you! :)

I have a setup with two servers, both located in Google's network:

  • Server A (Google App Engine): a public-facing web server, serving the website
  • Server B (Google Compute Engine): scraping server, taking HTML images of Server A

A few days ago I started experiencing many timeout errors on requests from Server B to Server A. In most cases it could not connect to Server A, even though Server A is fully available from any other IP address.

I ssh'd into Server B and have these findings:

  • I can do a curl www.ServerA.dk approx. 3 times within a few seconds, and then the connection dies, and I have to wait approx. 20 seconds, before I can do more curls

  • I can with no problems curl any other URL as many times as I want

  • The ping time to Server A is ridiculously low (< 1 ms)

I can solve the problem by:

  • Changing the DNS in /etc/resolv.conf to Googles Public DNS

Or:

  • By calling Server A with the default Google URL (ServerA.appspot.com) instead of my Danish domain www.ServerA.dk

I have a feeling this is a DNS issue on Google's behalf or my Danish DNS provider. Do you have any clue?

Actual domains

  • www.kobstaden.dk (Custom domain)
  • kobstaden-hrd.appspot.com (Default Google domain)

Some (random) DNS info:

From my DNS provider i have setup:

  • C-Name for www.kobstaden.dk points to ghs.google.com

Cheers!

7
  • Does Server A do hostname lookups? Does it have separate virtual hosts when called with its Danish domain name rather than its Google URL?
    – Jenny D
    Feb 26, 2013 at 11:46
  • DNS on Server A is managed by Google. I guess they are different virtual hosts, but can't tell for sure. If i do a ping on ServerA.dk it resolves to 74.125.143.121 If I do a ping on ServerA.appspot.com (address assigned by Google) it resolves to 74.125.143.141
    – sqren
    Feb 26, 2013 at 12:16
  • I have updated the question with some more DNS info
    – sqren
    Feb 26, 2013 at 12:23
  • 1
    What happens if you change your CNAME for www.ServerA.dk to point to ServerA.appspot.com instead of ghs.google.com?
    – MxToolbox
    Mar 22, 2013 at 21:30
  • It's hard to answer to not general DNS questions without true data. If I have true name of your servers and true name of your original DNS servers then I can ask this servers about you domain and see reply (you use DK name servers from Goole server B?). But with "sample name" it's just guessing :( Also you tell us that you can call "default Google URL", but next you give two different IPs for that "same server" - could you explain this a bit more?
    – dsznajder
    Mar 24, 2013 at 9:23

1 Answer 1

1

Here's a best-guess answer to this. Many large DNS providers will have their DNS servers multihomed - i.e. the same IP address will send you to the server that's closest to you (in terms of network topology, not geography).

If one of the servers responding to the multihomed IP is malconfigured, then any request from a client topologically close to it may get a wrong answer or no answer. So by changing DNS servers you may get one that's topologically closer to you, and by using a different domain name you will also get to a different server which may respond better.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .