Значительная задержка при доступе в интернет через Google Cloud NAT - PullRequest
1 голос
/ 20 сентября 2019

в нашей настройке у нас есть виртуальная машина без доступа внешних IP-адресов к внешнему миру через Google Cloud NAT.

Мы наблюдаем странное поведение:

  • , каждый 10-15-й запрос значительно задерживается (15 - 135 секунд)
  ~$ for i in {1..50}; do echo $i;  time curl -s 'https://stackoverflow.com/' > 
  /dev/null; done
  .
  .
  .
  15

  real  2m10.830s
  user  0m0.049s
  sys   0m0.029s
  • Я вижу в журналах стековых драйверов, что соответствующие соединения УДАЛЕНЫ:
    {
    .
    .
    .
      jsonPayload: {
        allocation_status: "DROPPED"
      }
      timestamp: "2019-09-20T11:41:05.904608023Z"  
    }

Любые идеи / предложения какдля решения вопроса будет высоко оценен.:)

Спасибо,

Борис

1 Ответ

2 голосов
/ 23 сентября 2019

Возможно, на ваших виртуальных машинах не хватает доступных портов NAT .Например, если вы выделите 4096 портов для каждой виртуальной машины, вам потребуется IP-адрес NAT для каждых 15 виртуальных машин.Во время работы в режиме реального времени, если виртуальные машины + NAT исчерпывают доступные порты из-за открытых соединений (TCP - самый длинный из них), вы можете начать видеть потерянный трафик.Возможно, вы захотите уменьшить время ожидания TCP или выделить больше портов для каждой виртуальной машины.

Вы можете увидеть текущее состояние отображения NAT (например, количество портов на IP / VM).) с помощью этой команды в облачной консоли:

gcloud compute router get-nat-mapping-info [ИМЯ РОУТЕРА]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...