Вводит ли db url как localhost быстрее, чем указание адреса удаленного сервера? - PullRequest
0 голосов
/ 17 мая 2019

Мне было интересно, медленнее ли вводить URL удаленного сервера вместо ввода localhost в свойствах весенней загрузки. Db url (spring.datasource.url)? Допустим, я запускаю приложение весенней загрузки на сервере с IPv4 123.123.12.12, будет набирать

jdbc:mariadb://123.123.12.12:3306/dbname

сделать это медленнее, чем

jdbc:mariadb://localhost:3306/dbname?

Ответы [ 2 ]

0 голосов
/ 17 мая 2019

Когда вы получаете доступ к localhost, ваш файл /etc/hosts сообщит вашему компьютеру не смотреть дальше и перенаправит вас на ваш собственный компьютер.Когда вы получаете доступ к IP address, ваш компьютер запрашивает router to fetch the data, и ваш маршрутизатор затем указывает обратно на ваш компьютер.


Непосредственно используя IP-адрес любого интерфейса на локальном хосте - либоИнтерфейс обратной связи (127.0.0.1) или любой другой - это вариант с абсолютно лучшей производительностью.Фактически пакеты будут маршрутизироваться через интерфейс обратной связи (независимо от того, какой IP-адрес фактически используется) при - практически - скорости процессора.

Однако есть три причины, по которым 127.0.0.1 предпочтительнее, чем IP-адреса другихинтерфейсы:

  • Интерфейс обратной связи имеет решающее значение для работы системы, и поэтому он инициализируется очень рано в процессе загрузки и почти всегда доступен.
  • На него не влияютвнешние факторы: хотя удаление кабеля eth0 само по себе не прервет доступ localhost к себе через IP-адрес eth0, оно испортит ситуацию, если у вас есть какая-либо из множества систем «автоконфигурации», которые успешно отключат интерфейс при потере связи.
  • Если у вас настроен брандмауэр, вполне возможно, что цепочка правил будет длиннее (и, следовательно, немного хуже с точки зрения производительности), когда задействованы IP-адреса открытых интерфейсов.

Loopback , Также укажите это

0 голосов
/ 17 мая 2019

Да, настройка IP или DNS медленнее, чем localhost. В случае localhost, приложение не должно ничего проверять. Он будет напрямую пытаться подключить базу данных на том же сервере. Но в случае IP и DNS сначала необходимо проверить, что указанный URL-адрес действителен, а затем подключиться к базе данных.

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