Я развернул пример приложения HelloWorld на Google Cloud Run
, который в основном равен k-native
, и каждый вызов API в лучшем случае занимает 1,4 секунды, сквозным способом.Это должно быть так?
Пример приложения: https://cloud.google.com/run/docs/quickstarts/build-and-deploy
Я развернул то же самое приложение на своем локальном хосте как докер-контейнер, и это занимает около 22 мс, от начала до конца.end.
То же приложение в моем кластере GKE
занимает около 150 мс, сквозное.
import os
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
target = os.environ.get('TARGET', 'World')
return 'Hello {}!\n'.format(target)
if __name__ == "__main__":
app.run(debug=True,host='0.0.0.0',port=int(os.environ.get('PORT', 8080)))
Я немного знаком с FaaS и ожидаю, что вызовы APIполучить быстрее, как я вызывал их в ряд.(как при холодном старте по сравнению с горячим стартом)
Но независимо от того, сколько раз я выполняю команду, она не опускается ниже 1,4 секунды.
Я думаю, что сетевое расстояние недоминирующий фактор здесь.Время прохождения туда-обратно через ping до конечной точки API составляет всего 50 мс, более или менее
Поэтому у меня следующие вопросы:
Это потенциально непреднамеренная ошибка?Это техническая проблема, которая будет решена в конце концов?Или, может, в этом нет ничего плохого, это просто SLA в k-native
?
Если с Google Cloud Run
и / или k-native
нет ничего плохого, то что является доминирующим фактором, требующим много времени длямой вызов API?Я хотел бы изучить механизм.
Дополнительные сведения:
- Где я нахожусь: Сеул / Азия
- Регион для моего приложения Cloud Run: us-central1
- тип подключения к Интернету, который я тестирую: Бизнес, Проводной
- Размер изображения контейнера приложения: 343,3 МБ
- расположение корзины, которую использует Реестр контейнеров: gcr.io
WebPageTest из Сеула / Азия (время прогрева):
- Тип содержимого: текст /html
- Начало запроса: 0,44 с
- Поиск DNS: 249 мс
- Начальное подключение: 59 мс
- Переговор SSL: 106 мс
- Время до первого байта: 961 мс
- Загрузка контента: 2 мс
WebPageTest из Чикаго / США (время прогрева):
- Тип содержимого: текст / html
- Начало запроса: 0,171 с
- Поиск DNS: 41 мс
- Начальное подключение: 29 мс
- Переговоры SSL: 57 мс
- Время доПервый байт: 61 мс
- Загрузка контента: 3 мс
ОТВЕТ Steren, менеджер по продукту Cloud Run
Мы обнаружили высокий уровеньзадержка при вызове сервисов Cloud Run из определенных регионов мира.К сожалению, Сеул, кажется, один из них.