Оптимизированные по краям API-интерфейсы с дополнительной задержкой - PullRequest
0 голосов
/ 26 октября 2018

У меня есть лямбда-функция, которая выполняется через API-шлюз.Если я запрашиваю конечную точку напрямую: https://9ishqo5dj7.execute -api.us-east-1.amazonaws.com / api /

Тогда среднее время выполнения составляет 200 мс:

direct latency

Однако, если я добавлю «оптимизированную по краю» конечную точку, например: https://testsite.learn -serverless.org /

Тогда время выполнения выше:

cloudfront latency

Кажется, CloudFront добавляет некоторую заметную задержку вместо того, чтобы уменьшать ее.

ВСначала я подумал (как объяснено здесь https://stackoverflow.com/a/49845124/72350), возможно, это связано с тем, что веб-сайт, который я использовал для запуска тестов внутри AWS и выхода из сети AWS для перехода на CF, мог добавить некоторую задержку, однако япопробовал то же самое с компьютера в Южной Америке, и я получил те же результаты:

CURL до https://9ishqo5dj7.execute -api.us-east-1.amazonaws.com / api / :

Lookup Time: 0,029
Connect Time: 0,078
AppCon Time: 0,382
Redirect Time: 0,000
Pre-transfer Time: 0,382
Start-transfer Time: 0,578

Total Time: 0,578

CURL на https://testsite.learn -serverless.org / :

Lookup Time: 0,125
Connect Time: 0,175
AppCon Time: 0,476
Redirect Time: 0,000
Pre-transfer Time: 0,477
Start-transfer Time: 1,074

Total Time: 1,074

Другие тесты из Чикаго, Иллинойс (с использованием webpagetest.org), ведут кте же результаты. TTFB: 440мс против730 мс.

Есть идеи?

Код лямбда-функции: базовая функция с Python + Chalice, https://github.com/diegojancic/serverless-performance/tree/master/functions/chalice/base

Страница, используемая для проверки задержки: https://latency.apex.sh

Альтернативная региональная конечная точка APIG: https://testsite2.learn -serverless.org

ОБНОВЛЕНИЕ 1: Следует обратить внимание на то, как настроен Route53:

route53 configuration

Он установлен в качестве стандартного CNAME, если я задаю его как CNAME- "ALIAS", по какой-то причине он не работает.Не уверен, что это может иметь побочные эффекты, но подумал, что стоит упомянуть.

...