Локальное переключение поддоменов занимает несколько секунд; что бы это могло быть?

#google-app-engine

#google-app-engine

Вопрос:

Я пытаюсь протестировать динамические поддомены на сервере разработки. Для этого я добавил в /etc/hosts файл:

 127.0.0.1        www.myapp.dev
127.0.0.1        foo.myapp.dev
127.0.0.1        bar.myapp.dev
  

Затем я запускаю dev_appserver с помощью --address=www.myapp.dev , и если я обращаюсь к любому поддомену, приложение загружается мгновенно. Но если я последовательно обращаюсь к любому другому поддомену, загрузка того же приложения / обработчика занимает несколько секунд. Затем, если я оставлю сервер в режиме ожидания на некоторое время, доступ к любому поддомену снова будет мгновенным (и последовательный доступ к любому другому поддомену занимает, опять же, несколько секунд).

Это может быть что-то в моей настройке или ограничение сервера разработки, но я понятия не имею, что это такое. Знаете ли вы, что это такое, и есть ли обходной путь?

Для справки, я воспроизвел это с помощью простейшего приложения webapp:

 from google.appengine.ext import webapp
from google.appengine.ext.webapp import util

class Handler(webapp.RequestHandler):
    def get(self):
        self.response.out.write(self.request.host)

app = webapp.WSGIApplication([
    ('/', Handler),
])

def main():
    util.run_wsgi_app(app)

if __name__ == '__main__':
    main()
  

Ответ №1:

Извините, что отвечаю на свой вопрос, но после установки dnsmask я решил, что проблема в том, что Google Chrome слишком умный.

Чтобы исправить это, в Chrome 12 перейдите в Настройки / Под капотом и снимите флажок «Прогнозировать сетевые действия для повышения производительности загрузки страницы». В предыдущих версиях Chrome это было известно как «предварительная выборка DNS».

Теперь любой поддомен мгновенно загружается на сервер разработки.