Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Обращение к ms sql  [new]
ilshatkin
Member

Откуда:
Сообщений: 177
Коллеги, подскажите,
приложение на asp.net и ms sql расположены на одном сервере. При регистрации пользователя указывается путь к ms sql. Могу прописать наименование этого компьютера или его ip.

Подскажите, пожалуйста, если я укажу ip, то как будет происходить обращение. Вначале выход в интернет и возвращение обратно с какого то роутера или вообще запрос не будет выходить за пределы сервера? Интересует, есть ли разница.
12 фев 21, 14:03    [22280007]     Ответить | Цитировать Сообщить модератору
 Re: Обращение к ms sql  [new]
komrad
Member

Откуда:
Сообщений: 5495
ilshatkin,

При указании имени хоста и использовании tcp, в общем будет произведено hostname resolution, что требует запроса к DNS.
Если использовать localhost, hostname или что-то, внесенное в файл hosts, то, полагаю запроса к DNS не будет.
При указании IP подключение будет прямое; в данном случае, выхода за пределы хоста не будет.
12 фев 21, 15:05    [22280070]     Ответить | Цитировать Сообщить модератору
 Re: Обращение к ms sql  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8311
ilshatkin,

можно использовать для SQL символическое имя . (точка) или (local) для подключения к локальному серверу.
12 фев 21, 15:33    [22280094]     Ответить | Цитировать Сообщить модератору
 Re: Обращение к ms sql  [new]
ilshatkin
Member

Откуда:
Сообщений: 177
komrad,
то есть Data Source=??.206.14.184 или Data Source=Leibniz
по сути разницы нет?
12 фев 21, 17:01    [22280156]     Ответить | Цитировать Сообщить модератору
 Re: Обращение к ms sql  [new]
komrad
Member

Откуда:
Сообщений: 5495
ilshatkin
komrad,
то есть Data Source=??.206.14.184 или Data Source=Leibniz
по сути разницы нет?

если у вас в консоли сервера команда hostname выдает Leibniz или эта пара (host&ip) прописана в файле hosts , то разницы нет

только учтите, если этот IP динамический, то лучше использовать имя хоста и будет обращение к DNS за IP адресом

Сообщение было отредактировано: 12 фев 21, 17:34
12 фев 21, 17:39    [22280169]     Ответить | Цитировать Сообщить модератору
 Re: Обращение к ms sql  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8311
ilshatkin,

Вначале выход в интернет и возвращение обратно с какого то роутера или вообще запрос не будет выходить за пределы сервера?


Насколько я помню, если в таблице маршрутизации прописан loopback на 127.0.0.1, то запрос в интернет не уйдёт. А он по умолчанию прописан.
12 фев 21, 18:09    [22280178]     Ответить | Цитировать Сообщить модератору
 Re: Обращение к ms sql  [new]
ilshatkin
Member

Откуда:
Сообщений: 177
Да, ip постоянный.

Спасибо,
ну в целом понял, что заморачиваться не нужно, писать везде ip и ладно. Так мне на самом деле удобнее, потому что бывает нужно зайти под пользователем и приходилось переписывать с имя хоста на ip, чтобы с тестового сервера шли запросы в БД куда надо.
12 фев 21, 18:31    [22280194]     Ответить | Цитировать Сообщить модератору
 Re: Обращение к ms sql  [new]
komrad
Member

Откуда:
Сообщений: 5495
ilshatkin
Да, ip постоянный.

Спасибо,
ну в целом понял, что заморачиваться не нужно, писать везде ip и ладно. Так мне на самом деле удобнее, потому что бывает нужно зайти под пользователем и приходилось переписывать с имя хоста на ip, чтобы с тестового сервера шли запросы в БД куда надо.

ну раз удобно, то ок
однако, обычно используют имя хоста или вообще DNS alias, во избежание зависимости от IP адреса (смена подсетей, переезд на другое железо и т.п.)
12 фев 21, 18:44    [22280200]     Ответить | Цитировать Сообщить модератору
 Re: Обращение к ms sql  [new]
uaggster
Member

Откуда:
Сообщений: 950
ilshatkin
Да, ip постоянный.

Спасибо,
ну в целом понял, что заморачиваться не нужно, писать везде ip и ладно. Так мне на самом деле удобнее, потому что бывает нужно зайти под пользователем и приходилось переписывать с имя хоста на ip, чтобы с тестового сервера шли запросы в БД куда надо.


Если приложение всегда будет на том же хосте, что и сервер, обращайтесь к нему через . (точку), и разрешите на сервере протокол shared memory (впрочем, он разрешен по умолчанию).
Обращение к серверу будет идти быстрее. В случае множества мелких вызовов, типа "вытащить миллион записей по одной" - вообще на порядок, как не на пару порядков быстрее.
15 фев 21, 08:53    [22280926]     Ответить | Цитировать Сообщить модератору
 Re: Обращение к ms sql  [new]
ilshatkin
Member

Откуда:
Сообщений: 177
uaggster,

Спасибо за совет.
Есть ли объяснение, возможно ли произвести замеры?
21 фев 21, 12:58    [22284375]     Ответить | Цитировать Сообщить модератору
 Re: Обращение к ms sql  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8311
ilshatkin,

объяснение чему? Что Вам мешает провести замеры?
21 фев 21, 13:57    [22284393]     Ответить | Цитировать Сообщить модератору
 Re: Обращение к ms sql  [new]
ilshatkin
Member

Откуда:
Сообщений: 177
Владислав Колосов,
объяснение тому что через точку быстрее чем через ip. Я не знаю как делать замеры, поэтому и советуюсь здесь.
21 фев 21, 15:09    [22284413]     Ответить | Цитировать Сообщить модератору
 Re: Обращение к ms sql  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8311
ilshatkin,

натурным экспериментом, как же еще. Сделайте вставку миллиона строк с тем или иным протоколом с замерами времени.
21 фев 21, 16:10    [22284429]     Ответить | Цитировать Сообщить модератору
 Re: Обращение к ms sql  [new]
uaggster
Member

Откуда:
Сообщений: 950
ilshatkin
Владислав Колосов,
объяснение тому что через точку быстрее чем через ip. Я не знаю как делать замеры, поэтому и советуюсь здесь.

В случае, если приложение и сервер находятся в пределах одной машины, и для mssqlserver разрешен протокол shared memory - обращение происходит через него, минуя стек tcp/ip.
Ускорение заметно, прежде всего, если приложение интенсивно порождает множество коротких транзакций.

Например 1C сервер приложений очень такое любит.
Точнее, программисты 1С, которые любят обработать эдак миллион строк в стиле "от записи к записи".
21 фев 21, 19:14    [22284507]     Ответить | Цитировать Сообщить модератору
 Re: Обращение к ms sql  [new]
ilshatkin
Member

Откуда:
Сообщений: 177
uaggster,
понял, спасибо! Перевожу на точку.
22 фев 21, 12:31    [22284681]     Ответить | Цитировать Сообщить модератору
 Re: Обращение к ms sql  [new]
invm
Member

Откуда: Москва
Сообщений: 9633
uaggster
Ускорение заметно, прежде всего, если приложение интенсивно порождает множество коротких транзакций.
А каким образом длительность транзакции зависит от протокола соединения?
22 фев 21, 13:09    [22284710]     Ответить | Цитировать Сообщить модератору
 Re: Обращение к ms sql  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 52443
Через латентность канала общения с сервером.
22 фев 21, 14:54    [22284761]     Ответить | Цитировать Сообщить модератору
 Re: Обращение к ms sql  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8311
ilshatkin,

точка тут не при чём. Это псевдоним. Включите протокол Shared Memoryв конфигураторе сервера и передвиньте его наверх в списке.
22 фев 21, 15:42    [22284776]     Ответить | Цитировать Сообщить модератору
 Re: Обращение к ms sql  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8311
Dimitry Sibiryakov
Через латентность канала общения с сервером.


На продолжительность неявной транзакции (а это происходит при единичных вставках, как правило) задержки подачи команд не оказывают никакого влияния.
22 фев 21, 15:45    [22284778]     Ответить | Цитировать Сообщить модератору
 Re: Обращение к ms sql  [new]
invm
Member

Откуда: Москва
Сообщений: 9633
Dimitry Sibiryakov
Через латентность канала общения с сервером.
Только если транзакциями рулит клиент и begin tran/commit идут отдельными пакетами.
И то на локальном сервере разница будет практически незаметной.
22 фев 21, 16:09    [22284787]     Ответить | Цитировать Сообщить модератору
 Re: Обращение к ms sql  [new]
uaggster
Member

Откуда:
Сообщений: 950
invm
Dimitry Sibiryakov
Через латентность канала общения с сервером.
Только если транзакциями рулит клиент и begin tran/commit идут отдельными пакетами.
И то на локальном сервере разница будет практически незаметной.

Именно так 1С сервер себя и ведет.
А вот по поводу "незаметной" - не согласен.
Там разница - процентов 30 набегает.
23 фев 21, 17:54    [22285242]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить