| 
 | 
| 
 
Connection.Open() длительностью в 0,5 секунды !!! 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Уважаемые гуру, подскажите...  Что это может быть... Пишу я консольное приложение, в общем, там обрабатываются два больших XML файла, и после этого, просто необходимо соединится с БД, кое-что считать, а потом и кое-что записать. Так вот, запускаю я его, запоминаю время вначале, определяю время в конце, в результате - время выполнения класса 1,14хххх секунды Снимаю интервалы времён выполнения в ключевых местах программы, так вот - обработка двух больших XML файлов занимает 0,23хххх секунды, SqlConnection.Open() - 0,52xxxx, а чтение из БД элементарным Select'ом ("SELECT XmlFile FROM XmlObjects WHERE ID IN (14,67)") - 0,25хххх секунды Оставшееся время занимает всякая возня с классами и т.д. Уточню, БД расположена на этом же компьютере, коннекшн я формирую из класса подключаемой dll(написанной мной же). Коннекшн создаётся строкой - SqlConnection Conn = SqlDBConnection.Connect.GetConnect("MyDB"); Код этой самой dll привожу ниже - namespace SqlDBConnection { public class Connect { public static SqlConnection GetConnect(String db) { String ConnectionString = "server=10.10.10.98;uid=worker;pwd=worker;database="+db; SqlConnection Conn = new SqlConnection(ConnectionString); return Conn; } } } По той же самой схеме я создаю конекшн на ASP.NET страницах - всё летает!!! Подскажите, в чём я не прав... В SqlProfiler запускаю TRACE с полями EventClass | TextData | Duration | StartTime | EndTime ... В результате при выполнении приложения - Audit Login I set quoted_identifier on.... I I .... 11:11:19:897 I I RPC:Completed I exec sp_reset_connection I 0 I .... 11:11:20:037 I .... 11:11:20:037 I RPC:Completed I exec sp_executesql N'SELECT.... I 0 I .... 11:11:20:037 I .... 11:11:20:037 I Audit Logout I I 2343 I .... 11:11:19:897 I ....11:11:22:240 I Что это за @#$^&!$ !!!!!! ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 17.12.2002, 11:27 | 
  
  
  
   | 
||
| 
 
Connection.Open() длительностью в 0,5 секунды !!! 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Сперва в сети ищется компьютер с NETBIOS-именем "10.10.10.98". Не находиться. Тогда ищется компьютер с DNS-именем "10.10.10.98". Увы и тут облом. И только тогда идет обращение к серверу с ip-адресом 10.10.10.98 В вашем случае, как мне представляется, сильно ускорило бы задание алиаса в Client Network Utility с использованием в строке соединения имени алиаса. В этом случае разрешение имени в адрес было бы мгновенным. Такого же результата можно добиться прописыванием связки имя-адрес в файле hosts или lmhosts. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 17.12.2002, 11:41 | 
  
  
  
   | 
||
| 
 
Connection.Open() длительностью в 0,5 секунды !!! 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Пишу с помощью Allias'а -  SqlConnection Conn = new SqlConnection("server=SQLSERVER;uid=worker;pwd=iwanttowork;database=PetroAlliance"); Тоже самое ... :-( ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 17.12.2002, 11:48 | 
  
  
  
   | 
||
| 
 
Connection.Open() длительностью в 0,5 секунды !!! 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Вот что я нашёл - что если подряд создать два разных объекта SqlConnection, один после другого -  SqlConnection Conn2 = new SqlConnection ("server=10.10.10.98;uid=worker;pwd=worker;database=MyDB"); Console.WriteLine("Creating 1 Connection ..."); System.DateTime point2 = System.DateTime.Now; Conn2.Open(); System.DateTime point3 = System.DateTime.Now; TimeSpan tempPoint = point3 - point2; Console.WriteLine("Connection Time - {0}",tempPoint.TotalSeconds.ToString()); /************************************************************ System.DateTime startPoint = System.DateTime.Now; SqlConnection Conn = new SqlConnection("server=10.10.10.98;uid=worker;pwd=worker;database=MyDB"); Console.WriteLine("Creating 2 Connection ..."); Conn.Open(); System.DateTime endPoint = System.DateTime.Now; TimeSpan interval2 = endPoint - startPoint; Console.WriteLine("Connection Time - 0}",interval2.TotalSeconds.ToString()); Console.ReadLine(); То Вот что получается - Creating 1 Connection ... Connection Time - 0,8412096 Creating 2 Connection ... Connection Time - 0,0100144 ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 17.12.2002, 12:40 | 
  
  
  
   | 
||
| 
 | 

start [/forum/topic.php?fid=17&msg=32080357&tid=1354407]:  | 
    0ms | 
get settings:  | 
    10ms | 
get forum list:  | 
    13ms | 
check forum access:  | 
    3ms | 
check topic access:  | 
    3ms | 
track hit:  | 
    69ms | 
get topic data:  | 
    11ms | 
get forum data:  | 
    3ms | 
get page messages:  | 
    47ms | 
get tp. blocked users:  | 
    1ms | 
| others: | 244ms | 
| total: | 404ms | 

| 0 / 0 | 

    Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
    
    
    «На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
    
    
    ... ля, ля, ля ...