powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Проверить соединение с сервером (делаю SELECT 1)
19 сообщений из 19, страница 1 из 1
Проверить соединение с сервером (делаю SELECT 1)
    #39692423
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приветствую!

Для проверки работоспособности давно открытого соединения с сервером (MS SQL 2008) выполняю запрос
Код: sql
1.
SELECT 1


Насколько это грузит сервер? И есть ли еще что-нибудь более легковесное, или это уже предел?
...
Рейтинг: 0 / 0
Проверить соединение с сервером (делаю SELECT 1)
    #39692425
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сколько тысяч раз в секунду вы его выполняете?
...
Рейтинг: 0 / 0
Проверить соединение с сервером (делаю SELECT 1)
    #39692427
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не чаще 1 раза в секунду
...
Рейтинг: 0 / 0
Проверить соединение с сервером (делаю SELECT 1)
    #39692446
Владимир Затуливетер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кроик Семённе чаще 1 раза в секунду
Не стоит переживать по поводу производительности если это только 1 раз в секунду.
...
Рейтинг: 0 / 0
Проверить соединение с сервером (делаю SELECT 1)
    #39692452
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
стоит переживать за ясность ума тех кто решил не закрывать соединения сразу
...
Рейтинг: 0 / 0
Проверить соединение с сервером (делаю SELECT 1)
    #39692455
Владимир Затуливетер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TaPaKстоит переживать за ясность ума тех кто решил не закрывать соединения сразу



Кроик Семён,
У вас на чем клиент написан?
Зачем вы вообще проверяете соединения?
Что-то я такое впервые встречаю, может быть вы что-то не то на клиенте делаете?
...
Рейтинг: 0 / 0
Проверить соединение с сервером (делаю SELECT 1)
    #39692507
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Клиент на Delphi + SDAC

Зачем проверяю? У клиентском приложении одна сессия. Которая соединилась с MSSQL может месяц назад.
В приложении крутятся джобы и перед выполнением каждого джоба проверяю соединение чтобы даже не начинал джоб если что (т.к. работа каждого джоба затрагивает кучу всего, бывает даже несколько баз и выгрузку в файлы. И если проделана ресурсоемкая подготовительная работа, которую не завершить по причине недоступности MSSQL, то не следовало её и начинать. Так думал).

Запрограмировал, что закрытие сессии происходит только при ошибке выполнения джоба. Это ведь ресурсоемкая операция, установления соединения?
...
Рейтинг: 0 / 0
Проверить соединение с сервером (делаю SELECT 1)
    #39692511
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кроик Семён,

Правильный подход - открыл соединение, выполнил запрос, закрыл. Всё остальное это прицелиывание в ногу, но бывают мазахисты...
...
Рейтинг: 0 / 0
Проверить соединение с сервером (делаю SELECT 1)
    #39692534
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кроик СемёнЭто ведь ресурсоемкая операция, установления соединения?В принципе да, ресурсоёмкая, но современные средства доступа обычно берут соединения из кэша, а это быстро. Настолько, что хорошая практика - создавать соединение на каждый запрос (ка уже посоветовал TaPaK)
...
Рейтинг: 0 / 0
Проверить соединение с сервером (делаю SELECT 1)
    #39692548
Владимир Затуливетер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В C# например коннекшены "кэшируются" в пуле. Как только мы закрыли коннекшен выполнив cnn.Close() коннекшен на самом деле не закрывается а возвращается в пул, после он будет переиспользован.
https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/sql-server-connection-pooling


В делфи, по крайней мере в 7-й версии, я не видел подобного механизма и в приложении всегда приходилось юзать одно соединение. Каждый раз открывать/закрывать на каждый запрос очень накладно, около 1 сек на это уходило (давно это дело было, поэтому точно не скажу, но было тормознуто).

В общем попробуйте спросить в Delphi форуме или поискать по этому вопросу что-нибудь.

+ В вашем случае если есть какой-то очень долгий процесс, то если мы добавим к нему еще 1 сек на открытие соединения, то думаю это не сильно скажется на производительности.
...
Рейтинг: 0 / 0
Проверить соединение с сервером (делаю SELECT 1)
    #39692559
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvgКроик СемёнЭто ведь ресурсоемкая операция, установления соединения?В принципе да, ресурсоёмкая, но современные средства доступа обычно берут соединения из кэша, а это быстро. Настолько, что хорошая практика - создавать соединение на каждый запрос (ка уже посоветовал TaPaK)

Мужики то, в мелкософте, и не знают!

ЗЫ. Ваще то, это идиотизм закрывать соединение, если собираетесь запросы выполнять.
...
Рейтинг: 0 / 0
Проверить соединение с сервером (делаю SELECT 1)
    #39692561
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир ЗатуливетерВ C# например коннекшены "кэшируются" в пуле. Как только мы закрыли коннекшен выполнив cnn.Close() коннекшен на самом деле не закрывается а возвращается в пул, после он будет переиспользован.
https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/sql-server-connection-pooling


В делфи, по крайней мере в 7-й версии, я не видел подобного механизма и в приложении всегда приходилось юзать одно соединение. Каждый раз открывать/закрывать на каждый запрос очень накладно, около 1 сек на это уходило (давно это дело было, поэтому точно не скажу, но было тормознуто).

В общем попробуйте спросить в Delphi форуме или поискать по этому вопросу что-нибудь.

+ В вашем случае если есть какой-то очень долгий процесс, то если мы добавим к нему еще 1 сек на открытие соединения, то думаю это не сильно скажется на производительности.

Учи матчасть.
Коннекш-пул реализован очень давно в клиентской библиотеке (ADO например) и абсолютно пофиг Дельфи или шарп.
...
Рейтинг: 0 / 0
Проверить соединение с сервером (делаю SELECT 1)
    #39692575
Владимир Затуливетер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aleks222,

Спасибо буду знать.

Откуда тогда тормоза были? Наверное кривые руки...
...
Рейтинг: 0 / 0
Проверить соединение с сервером (делаю SELECT 1)
    #39692581
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир Затуливетер,

даже если и висит коннект бай дизайн, при наличии обработки ошибки таймаута никакие проверки делать не надо.
...
Рейтинг: 0 / 0
Проверить соединение с сервером (делаю SELECT 1)
    #39692590
Владимир Затуливетер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав Колосов,

я и не делаю
это автор темы придумал делать проверку.
...
Рейтинг: 0 / 0
Проверить соединение с сервером (делаю SELECT 1)
    #39692899
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир Затуливетер,

мисклик :) Дёргают со всех сторон
...
Рейтинг: 0 / 0
Проверить соединение с сервером (делаю SELECT 1)
    #39692957
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо всем за обсуждение, хоть и не по теме вопроса топика :)
...
Рейтинг: 0 / 0
Проверить соединение с сервером (делаю SELECT 1)
    #39692998
Владимир Затуливетер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кроик Семён,

Очень даже по теме.
По сути вы можете открывать и закрывать коннекшен без каких либо накладных расходов, не надо держать его открытым постоянно, и проверять.
Как выше написали connection pool реализован в ADO к примеру.
21652303
...
Рейтинг: 0 / 0
Проверить соединение с сервером (делаю SELECT 1)
    #39693092
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
просветлился
спасибо
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Проверить соединение с сервером (делаю SELECT 1)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]