webmail123 Ответов: 1

Временная задержка в соединении с SQL server


Я пытаюсь подключиться к удаленному SQL-серверу с языка C#. Каждый раз, когда я открываю соединение, требуется не менее 6-10 секунд, чтобы открыть соединение и выполнить шаги после открытия соединения.

напр.
public static bool connectDB()
       {
           try
           {
               Variables var = new Variables();
               string connection = Properties.Settings.Default.serverUrl;

               var.connection = new SqlConnection(connection);
               var.connection.Open(); //takes time to execute this step
               {
                   //set of commands executes after time lag;
               }
               var.connection.Close();
               return true;

           }
           catch (Exception ex)
           {
               MessageBox.Show("Error while conneting to database" + ex.Message,"Demo",MessageBoxButtons.OK,MessageBoxIcon.Error);
               return false;
               throw;
           }

       }

После этого в течение нескольких минут все идет гладко. Снова через несколько минут требуется от 6 до 10 секунд, чтобы открыть соединение.

Что я уже пробовал:

Я использую это как строку подключения:
Data Source=159.70.76.16;Initial Catalog=Itemsense;Integrated Security=True; max pool size=1000

Я даже попытался удалить параметр "максимальный размер пула" из строки подключения, но все равно получил ту же временную задержку. Есть ли какое-то решение для этого вопроса?

RedDk

Я не могу себе представить, что есть что-то более важное, чем большой процессор, большой графический процессор и много памяти ... особенно, когда речь заходит о разработке собственного приложения. Размер диска? Конечно...

Но почему мы придираемся к чему-то вроде 6 секунд до 10 секунд для какого-то стороннего приложения, чтобы ответить на запрос (TSQL?)? Есть ли что-то неправильное в приведенном выше коде? Я ничего не вижу. Откуда берется эта непонятная медлительность?

webmail123

Так что же ты мне предлагаешь?

j snooze

Пара предложений по этому url-адресу, которые, возможно, стоит попробовать.
https://stackoverflow.com/questions/4269268/initial-connection-to-sql-server-connection-is-slow-why

Richard Deeming

Есть ли в вашей базе данных функция "автоматическое закрытие"?

webmail123

Я сверился с ним. Это Ложь.

1 Ответов

Рейтинг:
0

Maciej Los

Невозможно ответить на ваш вопрос прямо по установленной причине...
1. Брандмауэр Windows запрещает/блокирует подключение к SQL server[^]
2. Проблемы с подключением LAN/WAN[^]
3. Проблемы производительности SQL сервера
  - Советы по настройке производительности SQL Server[^]
  - Настройка производительности для SQL Server[^]
4. и т. д.

К сожалению, вы должны проверить каждую возможность.

Удачи вам!


webmail123

@Мачей. Спасибо за ссылки. Я могу понять эту проблему. Я должен был предоставить больше деталей для того же самого. Я объясню вам суть дела:
1. Брандмауэр Windows: брандмауэр настроен на разрешение подключений к SQL Server. В противном случае я бы вообще не смог подключиться к SQL Server. Я могу подключиться к SQL Server удаленно.
2. проблема подключения LAN/WAN: я подключен к внутренней сети. Который безопасен и хорошо настроен. Как от клиента, так и от сервера) Я могу получить доступ к внутренней сети без каких-либо проблем с подключением.
3. Проблемы производительности SQL сервера: я изначально рассматривал этот вопрос, но моя база данных маленькая. В нем всего 3000 записей. Не более того.

Кстати, спасибо за ссылки. Я последую за вами и посмотрю, что можно улучшить.