Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Проверить соединение с сервером (делаю SELECT 1)
|
|||
|---|---|---|---|
|
#18+
Приветствую! Для проверки работоспособности давно открытого соединения с сервером (MS SQL 2008) выполняю запрос Код: sql 1. Насколько это грузит сервер? И есть ли еще что-нибудь более легковесное, или это уже предел? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2018, 14:16 |
|
||
|
Проверить соединение с сервером (делаю SELECT 1)
|
|||
|---|---|---|---|
|
#18+
Сколько тысяч раз в секунду вы его выполняете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2018, 14:18 |
|
||
|
Проверить соединение с сервером (делаю SELECT 1)
|
|||
|---|---|---|---|
|
#18+
не чаще 1 раза в секунду ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2018, 14:19 |
|
||
|
Проверить соединение с сервером (делаю SELECT 1)
|
|||
|---|---|---|---|
|
#18+
Кроик Семённе чаще 1 раза в секунду Не стоит переживать по поводу производительности если это только 1 раз в секунду. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2018, 14:36 |
|
||
|
Проверить соединение с сервером (делаю SELECT 1)
|
|||
|---|---|---|---|
|
#18+
стоит переживать за ясность ума тех кто решил не закрывать соединения сразу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2018, 14:41 |
|
||
|
Проверить соединение с сервером (делаю SELECT 1)
|
|||
|---|---|---|---|
|
#18+
TaPaKстоит переживать за ясность ума тех кто решил не закрывать соединения сразу Кроик Семён, У вас на чем клиент написан? Зачем вы вообще проверяете соединения? Что-то я такое впервые встречаю, может быть вы что-то не то на клиенте делаете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2018, 14:45 |
|
||
|
Проверить соединение с сервером (делаю SELECT 1)
|
|||
|---|---|---|---|
|
#18+
Клиент на Delphi + SDAC Зачем проверяю? У клиентском приложении одна сессия. Которая соединилась с MSSQL может месяц назад. В приложении крутятся джобы и перед выполнением каждого джоба проверяю соединение чтобы даже не начинал джоб если что (т.к. работа каждого джоба затрагивает кучу всего, бывает даже несколько баз и выгрузку в файлы. И если проделана ресурсоемкая подготовительная работа, которую не завершить по причине недоступности MSSQL, то не следовало её и начинать. Так думал). Запрограмировал, что закрытие сессии происходит только при ошибке выполнения джоба. Это ведь ресурсоемкая операция, установления соединения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2018, 16:03 |
|
||
|
Проверить соединение с сервером (делаю SELECT 1)
|
|||
|---|---|---|---|
|
#18+
Кроик Семён, Правильный подход - открыл соединение, выполнил запрос, закрыл. Всё остальное это прицелиывание в ногу, но бывают мазахисты... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2018, 16:08 |
|
||
|
Проверить соединение с сервером (делаю SELECT 1)
|
|||
|---|---|---|---|
|
#18+
Кроик СемёнЭто ведь ресурсоемкая операция, установления соединения?В принципе да, ресурсоёмкая, но современные средства доступа обычно берут соединения из кэша, а это быстро. Настолько, что хорошая практика - создавать соединение на каждый запрос (ка уже посоветовал TaPaK) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2018, 16:41 |
|
||
|
Проверить соединение с сервером (делаю SELECT 1)
|
|||
|---|---|---|---|
|
#18+
В C# например коннекшены "кэшируются" в пуле. Как только мы закрыли коннекшен выполнив cnn.Close() коннекшен на самом деле не закрывается а возвращается в пул, после он будет переиспользован. https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/sql-server-connection-pooling В делфи, по крайней мере в 7-й версии, я не видел подобного механизма и в приложении всегда приходилось юзать одно соединение. Каждый раз открывать/закрывать на каждый запрос очень накладно, около 1 сек на это уходило (давно это дело было, поэтому точно не скажу, но было тормознуто). В общем попробуйте спросить в Delphi форуме или поискать по этому вопросу что-нибудь. + В вашем случае если есть какой-то очень долгий процесс, то если мы добавим к нему еще 1 сек на открытие соединения, то думаю это не сильно скажется на производительности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2018, 17:20 |
|
||
|
Проверить соединение с сервером (делаю SELECT 1)
|
|||
|---|---|---|---|
|
#18+
alexeyvgКроик СемёнЭто ведь ресурсоемкая операция, установления соединения?В принципе да, ресурсоёмкая, но современные средства доступа обычно берут соединения из кэша, а это быстро. Настолько, что хорошая практика - создавать соединение на каждый запрос (ка уже посоветовал TaPaK) Мужики то, в мелкософте, и не знают! ЗЫ. Ваще то, это идиотизм закрывать соединение, если собираетесь запросы выполнять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2018, 17:41 |
|
||
|
Проверить соединение с сервером (делаю SELECT 1)
|
|||
|---|---|---|---|
|
#18+
Владимир ЗатуливетерВ C# например коннекшены "кэшируются" в пуле. Как только мы закрыли коннекшен выполнив cnn.Close() коннекшен на самом деле не закрывается а возвращается в пул, после он будет переиспользован. https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/sql-server-connection-pooling В делфи, по крайней мере в 7-й версии, я не видел подобного механизма и в приложении всегда приходилось юзать одно соединение. Каждый раз открывать/закрывать на каждый запрос очень накладно, около 1 сек на это уходило (давно это дело было, поэтому точно не скажу, но было тормознуто). В общем попробуйте спросить в Delphi форуме или поискать по этому вопросу что-нибудь. + В вашем случае если есть какой-то очень долгий процесс, то если мы добавим к нему еще 1 сек на открытие соединения, то думаю это не сильно скажется на производительности. Учи матчасть. Коннекш-пул реализован очень давно в клиентской библиотеке (ADO например) и абсолютно пофиг Дельфи или шарп. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2018, 17:43 |
|
||
|
Проверить соединение с сервером (делаю SELECT 1)
|
|||
|---|---|---|---|
|
#18+
aleks222, Спасибо буду знать. Откуда тогда тормоза были? Наверное кривые руки... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2018, 18:28 |
|
||
|
Проверить соединение с сервером (делаю SELECT 1)
|
|||
|---|---|---|---|
|
#18+
Владимир Затуливетер, даже если и висит коннект бай дизайн, при наличии обработки ошибки таймаута никакие проверки делать не надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2018, 18:41 |
|
||
|
Проверить соединение с сервером (делаю SELECT 1)
|
|||
|---|---|---|---|
|
#18+
Владислав Колосов, я и не делаю это автор темы придумал делать проверку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2018, 18:59 |
|
||
|
Проверить соединение с сервером (делаю SELECT 1)
|
|||
|---|---|---|---|
|
#18+
Владимир Затуливетер, мисклик :) Дёргают со всех сторон ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2018, 11:42 |
|
||
|
Проверить соединение с сервером (делаю SELECT 1)
|
|||
|---|---|---|---|
|
#18+
Спасибо всем за обсуждение, хоть и не по теме вопроса топика :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2018, 13:13 |
|
||
|
Проверить соединение с сервером (делаю SELECT 1)
|
|||
|---|---|---|---|
|
#18+
Кроик Семён, Очень даже по теме. По сути вы можете открывать и закрывать коннекшен без каких либо накладных расходов, не надо держать его открытым постоянно, и проверять. Как выше написали connection pool реализован в ADO к примеру. 21652303 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2018, 14:18 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39692423&tid=1689211]: |
0ms |
get settings: |
9ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
30ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
72ms |
get tp. blocked users: |
2ms |
| others: | 263ms |
| total: | 413ms |

| 0 / 0 |
