Spring Cloud Zuul Gateway занимает много времени для обслуживания запросов, лучшие практики для его настройки - PullRequest
0 голосов
/ 10 мая 2018

Я использую spring-cloud-netflix-zuul для нашего шлюза для нескольких служб, когда я наблюдал за производительностью каждого приложения, использующего appdynamics, я обнаружил, что запрос принимает 2 - 23 ms на шлюзе и конкретной службе для обработки запроса, но от шлюз для обслуживания HTTP занимает 250 - 500 ms, поэтому просто интересно, почему это занимает много времени. Я просмотрел документ, найденный здесь , и увеличил максимальное количество подключений на хост и общее максимальное подключение, и я вижу, что мы используем SEMAPHORE и результаты производительности были хорошими, он улучшился, но я

Шаги:

  1. Увеличено значение maxConnections zuul.host.max-total-connections = 2000
  2. Увеличение maxConnections на хост zuul.host.max-per-route-connections = 500
  3. с семафорами по умолчанию
  4. Увеличение семафоров - zuul.semaphore.maxSemaphores = 3000

Наблюдения:

  1. При увеличении общего количества подключений и макс. Числа подключенных узлов время HTTP уменьшается
  2. По умолчанию или увеличен или уменьшен до 1 семафор не увидел никакой разницы

Вопросы:

  1. Есть ли какая-либо очередь для проверки / отладки, когда максимальное число подключений на хост равно, скажем, 10, а шлюз получил 1000 запросов, где находятся эти 990 соединений?
  2. Когда увеличивать семафор, как это полезно?
  3. Как рассчитать количество подключений к хосту, чтобы задать максимальное количество подключений к хосту, а также общее максимальное количество подключений?
  4. Как проверить стратегию изоляции моего шлюза? Я вижу это как "ribbonIsolationStrategy": "SEMAPHORE", но я не использую концепцию ленты / serviceId, я использую концепцию хоста, где я предоставляю всем zuul.routes хост, путь, URL.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...