dispatch.yaml в Google App Engine увеличил время отклика

На основе 100 запросов.
Регион: южная Америка-восток1

При выполнении GET на xxx.appspot.com/api/v1/ping среднее время ответа составляет +/- 50 мс.

Example: Load time: 83 ms

При активации dispach.yaml (gcloud app deploy dispatch.yaml) и выполнении запроса с новым URL-адресом xxx.mydomain.com/api/v1/ping среднее время ответа составляет 750 мс.

Example Load time: 589 ms

диспетчеризация.yaml

dispatch:
  - url: "*/api/*"
  service: my-service

Я использую весеннюю загрузку на сервере. следить за app.yaml

service: my-service
runtime: java
env: flex
threadsafe: true

runtime_config:  # Optional
  jdk: openjdk8


handlers:
- url: /api/*
  script: this field is required, but ignored

manual_scaling:
  instances: 1

resources:
  cpu: 2
  memory_gb: 2.3

Как улучшить время отклика?

Правильно ли я использую диспетчеризацию, чтобы связать свои запросы с моим доменом?

curl -w "@curl-format.txt" -o ./ -s http://my.domnai.com/

        time_namelookup:  0,253
           time_connect:  0,328
        time_appconnect:  0,000
       time_pretransfer:  0,328
          time_redirect:  0,000
     time_starttransfer:  1,713
                        ----------
             time_total:  1,714

curl -w "@curl-format.txt" -o ./ -s http://my-app.appspot.com/

        time_namelookup:  0,253
           time_connect:  0,277
        time_appconnect:  0,000
       time_pretransfer:  0,277
          time_redirect:  0,000
     time_starttransfer:  0,554
                        ----------
             time_total:  0,554

person Tainha    schedule 02.04.2018    source источник
comment
Можете ли вы указать, как вы рассчитываете время загрузки? Возможно, время загрузки = время поиска DNS + задержка в сети. Сетевая задержка будет одинаковой для обоих случаев, но время поиска DNS может отличаться.   -  person Prasad Kothavale    schedule 02.04.2018
comment
Привет, я использую Jmeter для выполнения многих запросов к моему серверу. Вы предлагаете инструменты для получения времени разрешения DNS? Поскольку я делаю много запросов за короткое время, вы все еще верите, что это DNS?   -  person Tainha    schedule 03.04.2018
comment
Не уверен, как это обрабатывается в JMeter, но вы можете попробовать команду curl, чтобы получить разбивку времени отклика. Здесь дается, как это сделать - blog.josephscott.org /2011/10/14/сведения о времени с помощью завитка   -  person Prasad Kothavale    schedule 03.04.2018
comment
Я добавлю в пост более подробную информацию о завитке   -  person Tainha    schedule 09.04.2018
comment
Использование пользовательского домена довольно ортогонально использованию файла отправки. Видите ли вы ту же задержку, если вы используете файл отправки и домен appspot.com?   -  person Dan Cornilescu    schedule 09.04.2018


Ответы (1)


Использование пользовательского домена довольно ортогонально использованию файла отправки.

Когда App Engine получает запрос, ему сначала необходимо определить, какому приложению предназначен запрос. По умолчанию он делает это, используя исключительно доменное имя запроса, будь то appspot.com или пользовательский домен. Из запросов и доменов:

App Engine определяет, что входящий запрос предназначен для вашего приложения, используя доменное имя запроса.

Принимая это решение, он также определяет конкретную версию службы в приложении для отправки запроса на основе правил, описанных в Маршрутизация по URL.

Запросы с использованием личного домена могут потребовать дополнительной обработки по сравнению с использованием appspot.com (я не уверен в этом), что может объяснить некоторое увеличение времени ответа. Это можно подтвердить измерениями. Но если так, я не думаю, что вы можете что-то с этим поделать.

Обратите внимание, что файл отправки не требуется для принятия вышеупомянутых решений о маршрутизации. Даже если вы используете собственный домен. На самом деле в отсутствует ссылка на файл отправки. пользовательский домен для вашего приложения. Но если вы хотите изменить эти решения, вам нужно использовать файл отправки.

Файл отправки также позволяет учитывать путь запроса (в дополнение к имени домена запроса) при принятии решений о маршрутизации.

Использование файла отправки увеличит время ответа, поскольку домен запроса и путь должны последовательно сравниваться с каждым правилом в файле отправки, пока не будет найдено совпадение. Если совпадений не найдено, запрос будет отправлен на версию службы default приложения, настроенную на получение трафика. Вы можете немного сократить время обработки для определенных служб, поместив их правила в начале файла отправки, но это все, что вы можете сделать.

person Dan Cornilescu    schedule 09.04.2018