Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Sql връзката чака 15 секунди въпреки 3 секунди изчакване в низа за връзка

Има изчакване, преди мрежовият хардуер да съобщи изчакване на връзката на мрежовите драйвери, което от своя страна уведомява програмите, чакащи мрежов IO. Можете да проверите времето за изчакване на транспортния слой чрез telnet servername 1433 (ако приемем, че вашият sql сървър слуша на порт 1433).

Но 3 секунди са твърде кратки за процес за инициализиране на мрежовите API (ако приемем, че вашето уеб приложение е в собствения си набор от приложения), изпращане на заявка и изчакване на хардуера да изтече. Актуализирането на BIOS/фърмуера/драйвера вероятно няма да намали толкова много времето за реакция.

Би било по-добре връзката да се извърши асинхронно. Не предлагам да използвате EndInvoke за прекратяване на асинхронното повикване, тъй като нещастните потребители все пак може да трябва да изчакат 3 пълни секунди, за да видят някакъв отговор, когато базата данни не работи. Може би повикване на Ajax е по-добро. Ако имате много потребители, които постоянно посещават вашия уеб сайт, може да искате да кеширате резултата от проверката на свързаността и да го актуализирате по начин, който е значим за вашите потребители.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да намерите формата на датата, използван в текущата сесия в SQL Server (T-SQL)

  2. Съкращаване на SQL Server и ограничение 8192

  3. Разлика между DELETE и TRUNCATE таблица в SQL Server

  4. Как да се самосъединя таблица по начин, по който всеки запис да се съедини с предишния?

  5. SQL Server и уязвимостите Spectre/Meltdown